使用MySQL的镜像功能进行数据同步

WBOY
リリース: 2016-06-07 17:28:11
オリジナル
1693 人が閲覧しました

数据库版本:5.1.24。 4.x版本的数据库请自己去找相应文档。 英文版文档的原文地址:http://dev.mysql.com/doc/refman/5.1/en/re

数据库版本:5.1.24。
 
4.x版本的数据库请自己去找相应文档。
 
英文版文档的原文地址:
 
1 在主服务器(master)正常运行的情况下,创建一个专门用来同步数据的用户。
 
CREATE USER ‘用户名’@'从服务器IP’ IDENTIFIED BY ‘密码’;
 
GRANT REPLICATION SLAVE ON *.* TO ‘用户名’@'从服务器IP’;
 
这个用户名和密码(明文)以后会自动保存到从服务器上的master.info里面。
 
2 修改主服务器上面的my.cnf
 
[mysqld]
 
log-bin=mysql-bin
 
server-id=1
 
这个镜像系统中的每一台mysql主机都需要一个不同的server-id (1~2的32次方-1)
 
PS:如果使用了innodb, 还需要加上:
 
innodb_flush_log_at_trx_commit=1
 
sync_binlog=1
 
PS again:  主服务配置文件里面一定不能有 skip-networking
 
PS3: 主服务器防火墙开放3306端口给从服务器。
 
然后重新启动主服务器的mysqld,,使配置生效。
 
3 获取主服务器状态信息并复制数据。
 
3.1 获取主服务器二进制日志的座标
 
在主服务器上运行一个mysql客户端,
 
mysql> FLUSH TABLES WITH READ LOCK;
 
这会flush所有的数据表,并且阻塞所有的写入操作。
 
对于innodb类型的表,COMMIT 语句也会阻塞。
 
不要退出这个mysql客户端,否则这个read lock会失效。
 
在主服务器上重新打开一个mysql客户端,
 
mysql > SHOW MASTER STATUS;
 
+—————+———-+————–+——————+
 
| File          | Position | Binlog_Do_DB | Binlog_Ignore_DB |
 
+—————+———-+————–+——————+
 
| mysql-bin.003 | 73      | test        | manual,mysql    |
 
+—————+———-+————–+——————+
 
File 字段显示的是二进制日志的文件名
 
Position 显示的是此文件中的偏移量。 抄下来这二个数据。
 
They represent the replication coordinates at which the slave should begin processing new updates from the master.

linux

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!