MySQL版本:5.5.28
操作系统:centos 5.8 64位
Server1:192.168.1.1
配置:my.cnf
server-id = 1
binlog-do-db = testdb
binlog-ignore-db = mysql
log-slave-updates
replicate-do-db = testdb
replicate-ignore-db = mysql
同步testdb数据库,这里不对mysql数据库进行同步
新增同步用户:
grant replication slave on *.* to
[email protected] identified by '123456';
启动Sever1;
service mysql start
查看MySQL同步binlog文件名以及pos值:
show master status;
Server2:192.168.1.2
配置:my.cnf
server-id = 2
binlog-do-db = testdb
binlog-ignore-db = mysql
log-slave-updates
replicate-do-db = testdb
replicate-ignore-db = mysql
与Sever1配置基本相同,只是server-id不同,而且不能相同,另外记得在[mysqld]配置区域里配置开启二进制日志记录:log-bin = mysql-bin
新增同步用户:
grant replication slave on *.* to
[email protected] identified by '123456';
启动Server2:
service mysql start
配置同步:
mysql>change master to master_host='192.168.1.1',
mysql>master_user='slaveuser',
mysql>master_password='123456',
mysql>master_log_file='mysql-bin.000020',
mysql>master_log_pos=107;
mysql>slave start;
mysql>show slave status\G;
MySQL的5.5版本已经不支持在my.cnf中配置同步的主机信息了,即master-host等字段,否则MySQL会启不动,这点要注意下,网上也有很多教程,留意下不同版本的区别。
查看下状态:
标识为红色的部分都为yes则表示正常。如果出现Slave_SQL_Running:connecting,可能是没有对同步用户进行授权,到Server1检查下授权用户是否正常。
手动同步命令:
mysql>load data from master
到这里就是配置主从同步了,再到Server1上,以Server2为主,Server1为从进行同步,就实现双向同步了。过程一样的,不再详细说明了。