MySQL database 自 3.23.15 版以后就支援 Replication 功能,使用 Replication 可以拿来当备援及作流量分散
其实设定十分简单,整理设定方法说明如下:
假设 Master 是 A (192.168.100.1) , Slave 是 B (192.168.100.2) ,要复制的 database 为 hello
[步骤一] A 机器上面..
首先编辑 /etc/my.cnf,加入下列几行
[mysqld]
server-id=1
log-bin
binlog-do-db=hello
log-bin 是告诉 MySQL server 把 Binary Log 机制启动,把对 hello 这个 DB 的所有更动 LOG 纪录下来,然后才有办法让 Slave 过来同步
接下来重新启动 MySQL server
[步骤二]
使用 phpMyAdmin 连接到 A,增加一个连线帐号,要拥有 replication 的权限,记得要设定正确的来源位址 (假设是帐号: replication 密码: simba)
[步骤三]
把 A 机器的 /home/mysql/ (或是 /var/db/) tar 下来,并于 B 机器上面回存,
这个步骤是要让一开始 B 拥有和 A 相同的资料,后续的复制工作才有办法进行
[步骤四]
B 机器上面..
编辑 /etc/my.cnf,加入下列几行
[mysqld]
master-host=192.168.100.1
master-user=replication
master-password=simba
master-port=3306
server-id=2
master-connect-retry=60
replicate-do-db=hello
log-slave-updates
[步骤五]
重新启动 B 上面的 MySQL database
[步骤六]
测试在 A 上面的 hello database 内建立一个 table,然后去 B 看看是否有相同的 table 出现
HINT: 若有多个 DB 要做 Replication 的话,分别指定多行 binlog-do-db 及 replicate-do-db 即可
转贴自
http://blog.urdada.ne...3/25/29/