欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

用MySQL内建复制来最佳化可用性(二)_PHP教程

程序员文章站 2024-02-05 11:27:10
...
第一步:配置主服务器
  在这篇文章的剩下篇幅中,我将指定两台服务器。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"。在下一次服务器启动时,主机将生成二进制更新日志(名为:$#@60;主机名$#@62;-bin.$#@60;增量序号#$#@62;)。为了让二进制更新日志有效,关闭MySQL服务程序,然后将主机上的所有数据库目录到另一个目录中,接着重新启动mysqld。请确定得到了所有数据库,否则在进行复制时,如果一个表在主机上存在但在备机上不存在,将因为出错而退出。现在你已经得到了数据的快照,和一个从建立快照以来的二进制日志,上面记录着任何对数据库的修改。请注意MySQL数据文件(*.MYD,*.MYI和*.frm)是依赖于文件系统的,所以你不能仅仅进行文件传输,如从Solaris到Linux。如果你处于一个异种的服务器环境,你将不得不使用mysqldump实用程序或其它的定制脚本来得到数据快照。

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/532379.htmlTechArticle第一步:配置主服务器 在这篇文章的剩下篇幅中,我将指定两台服务器。A(IP为10.1.1.1)作为主服务器(简称为主机)。B(IP为10.1.1.2)作...