1、环境描述。
主机:192.168.36.155(A)
主机:192.168.36.150(B)
MYSQL 版本为5.1.21
2、授权用户。
A:
mysql>grant replication slave,file on *.* to 'slave'@'192.168.36.150' identified by '123456';
Query OK, 0 rows affected (0.00 sec)
mysql>flush privileges;
Query OK, 0 rows affected (0.00 sec)
B:
mysql>grant replication slave,file on *.* to 'slave'@'192.168.36.155' identified by '123456';
Query OK, 0 rows affected (0.00 sec)
mysql>flush privileges;
Query OK, 0 rows affected (0.00 sec)
然后都停止MYSQL 服务器。
3、配置文件。
在两个机器上的my.cnf里面都开启二进制日志 。
A:
user=mysql
log-bin=mysql-bin
server-id=1
binlog-do-db=test
binlog-ignore-db=mysql
replicate-do-db=test
replicate-ignore-db=mysql
log-slave-updates
slave-skip-errors=all
sync_binlog=1
auto_increment_increment=2
auto_increment_offset=1
B:
user=mysql
log-bin=mysql-bin
server-id=2
binlog-do-db=test
binlog-ignore-db=mysql
replicate-do-db=test
replicate-ignore-db=mysql
log-slave-updates
slave-skip-errors=all
sync_binlog=1
auto_increment_increment=2
auto_increment_offset=2
至于这些参数的说明具体看手册。
红色的部分非常重要,如果一个MASTER 挂掉的话,另外一个马上接管。
紫红色的部分指的是服务器频繁的刷新日志。这个保证了在其中一台挂掉的话,日志刷新到另外一台。从而保证了数据的同步 。
4、重新启动MYSQL服务器。
5、进入MYSQL的DOS。
A:
mysql>flush tables with read lock\G;
Query OK, 0 rows affected (0.00 sec)
mysql>show master status\G;
*************************** 1. row ***************************