> php教程 > php手册 > 用MySQL内建复制来最佳化可用性(二)

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

WBOY
풀어 주다: 2016-06-13 10:22:18
원래의
1019명이 탐색했습니다.

第一步:配置主服务器
  在这篇文章的剩下篇幅中,我将指定两台服务器。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实用程序或其它的定制脚本来得到数据快照。

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿