飘灵儿 发表于 2015-1-16 20:12:32

公布针对MySQL新增的复制特征的测试

DBaaS系统本身并不提供面对面访问或个人客户关系或持续不断的支持MySQL学习教程。这些就是需要解决方案提供商的原因。他们帮助客户选择正确的解决方案、规划集成和迁移战略,然后协助实施。在Soundbreak我们天天24小时不中断地播放实况音频和视频,以是关于MySQL的新增的复制特征,我们不克不及做出很使人佩服的测试。经由过程测试我们发明,可使用这个特征来与备份数据库服务器坚持数据同步,如许当主服务器由于某种缘故原由处置生效时,可以利用备份机处置一切的查询。关于如许的请求,设置两台服务器其实不坚苦。我将具体会商全部处置历程,同时会商一下当主服务器生效时,怎样利用php来重定向查询。
MySQL外部复制功效是创建在两个或两个以上服务器之间,经由过程设定它们之间的主-从干系来完成的。个中一个作为主服务器,别的的作为从服务器。我将具体会商怎样设置两台服务器,将一个设为主服务器,另外一个设为从服务器。而且形貌一下在它们之间举行切换的处置历程。我是在MySQL的3.23.23版本长进行的设置设置历程,而且也是在这个版本长进行的测试。MySQL开辟职员倡议最好利用最新版本,而且主-从服务器均利用不异的版本。同时MySQL3.23版本仍旧是beta测试版,并且这个版本大概不克不及向下兼容。以是由于这个缘故原由,在实践的网站中,我如今还没有利用这个版本。具有容错才能具有一个优点是,在不需中止任何查询的情形下,对服务器举行晋级。
第一步:设置主服务器
在这篇文章的剩下篇幅中,我将指定两台服务器。A(ip为10.1.1.1)作为主服务器(简称为主机)。B(IP为10.1.1.2)作为后备服务器(简称为备机)。
MySQL的复制功效的完成历程为:备机(B)与主机(A)毗连,然后读出主机的二进制更新日记,再将产生的变更兼并到自已的数据库中。备机必要一个用户帐号来与主机毗连,以是在主机上创立一个帐号,并只给它FILE权限,以下操纵:
GRANTFILEON*.*TOreplicate@10.1.1.2IDENTIFIEDBYpassWord;
为了备性能够与主机毗连,要在主机上运转FLUSHPRIVILEGES,不外不要忧虑,由于我们将鄙人面的步骤中停失落服务器。
如今我们必要主机数据库的一个快照,而且对主机举行设置,同意天生二进制的更新日记。起首编纂my.cnf文件,以便同意二进制更新日记,以是在部分的上面某个中央增添一行:log-bin。鄙人一次服务器启动时,主机将天生二进制更新日记(名为:<主机名>-bin.<增量序号#>)。为了让二进制更新日记无效,封闭MySQL服务程序,然后将主机上的一切数据库目次到另外一个目次中,接侧重新启动mysqld。
请断定失掉了一切数据库,不然在举行复制时,假如一个表在主机上存在但在备机上不存在,将由于堕落而加入。如今你已失掉了数据的快照,和一个从创建快照以来的二进制日记,下面纪录着任何对数据库的修正。请注重MySQL数据文件(*.MYD,*.MYI和*.frm)是依附于文件体系的,以是你不克不及仅仅举行文件传输,如从Solaris到linux。假如你处于一个异种的服务器情况,你将不能不利用mysqldump有用程序或别的的定制剧本来失掉数据快照。

第二步:设置备机
让我们持续。停失落备机上的MySQL服务程序,而且把从主机上拷贝来的数据库目次移到备机上的data目次下。请确认将目次的具有者和属组改动为MySQL用户响应值,而且修正文件形式为660(只对具有者和属组可读、可写),目次自己为770(只对具有者和属组可读、可写和可实行)。
持续。在备机上启动MySQL服务程序,确认MySQL事情一般。运转几个select查询(不要update或insert查询),看一看在第一步中失掉的数据快照是不是乐成。接着,在测试乐成后关失落MySQL服务程序。
在备机上设置必要会见的主机,以便吸收主机的变动。以是必要编纂务机上的my.cnf文件,在部分中增添上面几行:
master-host=10.1.1.1master-user=replicatemaster-password=password
在启动备机服务程序后,备机服务程序将检察在my.cnf文件中所指定的主机,检察是不是有改动,而且将这些改动兼并到自已的数据库中。备机坚持了主机的更新纪录,这些纪录是从主机的master.info文件中吸收上去的。备机线程的形态能够经由过程sql命令SHOWSLAVE-STATUS看到。在备机上处置二进制日记中假如产生毛病,都将招致备机线程的加入,而且在*.err的日记文件中天生一条信息。然后毛病能够被更正,接着可使用sql语句SLAVESTART来从头启动备机线程。线程将从主机二进制日记处置中止的中央持续处置。
至此,在主机上所产生的数据改动应当已复制到备机上了,要测试它,你能够在主机上拔出或更新一笔记录,而在备机上选择这笔记录。
如今我们具有了从A机到B机的这类主-从干系,如许当A机大概当机的时分,同意我们将一切的查询重定向到B机上往,可是当A机恢复时,我们没有举措将产生的改动恢复到A机中往。为懂得决这个成绩,我们创立从B机到A机的主-从干系。
采用DBaaS解决方案,他们也可以使用同大企业一样的技术。在大型组织中,DBaaS可以提供部门级解决MySQL学习教程,而无需IT部门和采购部门的介入,提供更快和更容易的方法来实现小型解决方案。

兰色精灵 发表于 2015-1-18 18:43:15

数据库物理框架没有变动undo和redo都放在数据库得transaction中,个人感觉是个败笔。如果说我们在设计数据库的时候考虑分多个数据库,可能能在一定程度上避免I/O效率问题。

灵魂腐蚀 发表于 2015-1-26 05:10:13

这就引发了对varchar和char效率讨论的老问题。到底如何分配varchar的数据,是否会出现大规模的碎片?

愤怒的大鸟 发表于 2015-2-4 13:51:14

外键的级联更能扩展可能大部分的同行在设计OLTP系统的时候都不愿意建立外键,都是通过程序来控制父子数据的完整性。

变相怪杰 发表于 2015-2-10 01:16:57

每天坚持做不一样的是,认真做笔录,定时复习。一个月你就可以有一定的收获。当然如果你想在sql方面有一定的造诣,你少不了需要看很多很多的书籍了。

海妖 发表于 2015-2-28 13:58:34

varchar(max)\\\\nvarchar(max)类型的引入大大的提高了编程的效率,可以使用字符串函数对CLOB类型进行操作,这是一个亮点。

再现理想 发表于 2015-3-10 00:05:18

所以你总能得到相应的升级版本,来满足你的需求。

第二个灵魂 发表于 2015-3-17 03:10:59

很多书籍啊,不过个人认为看书太慢,还不如自己学。多做实际的东西,就会遇到很多问题,网上搜下解决问题。不断重复这个过程,在配合sql的F1功能。

柔情似水 发表于 2015-3-23 18:12:37

入门没那么困难,精通没那么容易
页: [1]
查看完整版本: 公布针对MySQL新增的复制特征的测试