Replication of MySQL database

Home Home
引用 | 编辑 笑笑
2008-06-02 15:47
楼主
推文 x0
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.net/2005/03/25/29/

献花 x0