|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
虽说不上很好,但至少一般的数据操作,再在原有的SQL语言的基础上,用得还是可以的。mysql 利用MySQL内建复制功效来最好化可用性(一)
在Soundbreak咱们天天24小时不中断地播放实况音频和视频,所以关于MySQL的新增的复制特征,咱们不克不及做出很使人佩服的测试。经由过程测试咱们发明,可使用这个特征来与备份数据库办事器坚持数据同步,如许当主办事器由于某种缘由处置生效时,可以利用备份机处置一切的查询。关于如许的请求,设置装备摆设两台办事器其实不坚苦。我将具体会商全部处置进程,同时会商一下当主办事器生效时,若何利用PHP来重定向查询。
MySQL外部复制功效是创立在两个或两个以上办事器之间,经由过程设定它们之间的主-从关系来完成的。个中一个作为主办事器,其它的作为从办事器。我将具体会商若何设置装备摆设两台办事器,将一个设为主办事器,另外一个设为从办事器。而且描写一下在它们之间停止切换的处置进程。我是在MySQL的3.23.23版本长进行的设置装备摆设设置进程,而且也是在这个版本长进行的测试。MySQL开辟人员建议最好利用最新版本,而且主-从办事器均利用不异的版本。同时MySQL 3.23版本依然是beta测试版,并且这个版本能够不克不及向下兼容。所以由于这个缘由,在实践的网站中,我如今还没有利用这个版本。具有容错才能具有一个优点是,在不需中止任何查询的情形下,对办事器停止晋级。
第一步:设置装备摆设主办事器
在这篇文章的剩下篇幅中,我将指定两台办事器。A(IP为10.1.1.1)作为主办事器(简称为主机)。B(IP为10.1.1.2)作为后备办事器(简称为备机)。
MySQL的复制功效的完成进程为:备机(B)与主机(A)毗连,然后读出主机的二进制更新日记,再将产生的变更兼并到自已的数据库中。备机需求一个用户帐号来与主机毗连,所以在主机上创立一个帐号,并只给它FILE权限,以下操作:
GRANT FILE ON *.* TO replicate@10.1.1.2 IDENTIFIED BY 'password';
为了备性能够与主机毗连,要在主机上运转'FLUSH PRIVILEGES',不外不要忧虑,由于咱们将鄙人面的步调中停失落办事器。
如今咱们需求主机数据库的一个快照,而且对主机停止设置装备摆设,答应生成二进制的更新日记。起首编纂'my.cnf'文件,以便答应二进制更新日记,所以在[mysqld]局部的上面某个中央增添一行:'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'文件,在[mysqld]局部中增添上面几行:
master-host=10.1.1.1
master-user=replicate
master-password=password
在启动备机办事法式后,备机办事法式将检查在'my.cnf'文件中所指定的主机,检查是不是有改动,而且将这些改动兼并到自已的数据库中。备机坚持了主机的更新纪录,这些纪录是从主机的'master.info'文件中吸收上去的。备机线程的形态可以经由过程sql号令'SHOW SLAVE-STATUS'看到。在备机上处置二进制日记中假如
产生毛病,都将招致备机线程的加入,而且在*.err的日记文件中生成一条信息。然后毛病可以被更正,接着可使用sql语句'SLAVE START'来从头启动备机线程。线程将从主机二进制日记处置中止的中央持续处置。
至此,在主机上所产生的数据改动应当已复制到备机上了,要测试它,你可以在主机上拔出或更新一笔记录,而在备机上选择这笔记录。
如今咱们具有了从A机到B机的这类主-从关系,如许当A机能够当机的时分,答应咱们将一切的查询重定向到B机上去,然而当A机恢复时,咱们没有举措将产生的改动恢复到A机中去。为懂得决这个成绩,咱们创立从B机到A机的主-从关系。
原作者:Michael
来历:PHPBuilder.com
php manual(PHP手册)肯定是要从网上下载一个的,它很权威,也很全面,我自己认为它是一本很好的参考书,但是不适合新手当教材使用。 |
|