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

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

WBOY
リリース: 2016-06-13 10:22:18
オリジナル
1021 人が閲覧しました

第一步:配置主服务器
  在这篇文章的剩下篇幅中,我将指定两台服务器。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 までご連絡ください。
最新の問題
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート