主服务器设置
1、创建一个复制用户,具有 replication slave 权限
mysql>grant replication slave on *.* to ‘repl’@’192.168.1.22′ identified by ‘repl’;
2、编辑主服务器my.cnf文件
Server-id=1 #主机标示,整数
log-bin= /var/log/mysql/mysql-bin.log #确保此文件可写
read-only =0 #主机,读写都可以
Binlog-do-db=test #需要备份数据,,可以有多个用“,”分开,比如test1,test2
Binlog-ignore-db=mysql #不需要备份的数据库
3、设置读锁
mysql>flush tables with read lock;
4、得到binlog日志文件名和偏移量
mysql>show master status;
5、备份要同步的数据库
mysqldump test > test.sql
6、解锁
mysql>unlock tables;
从服务器设置
1、编辑从服务器my.cnf文件
server-id = 2
log_bin = /var/log/mysql/mysql-bin.log
master-host =192.168.1.100 #是主服务器的IP地址
master-user =slave #用于和主服务器同步数据的用户名,我们在配置主服务器已经添加了就是slave
master-pass =123456
master-port =3306 #主服务器的端口
master-connect-retry=60 #如果从服务器发现主服务器断掉,重新连接的时间差(秒)
replicate-do-db =test #只复制某个库
replicate-ignore-db=mysql #不复制某个库
2、启动从服务器slave线程
mysql>start slave;
3、验证
在主机A中,mysql>show master status\G;
在从机B中,mysql>show slave status\G;
在从机B中,mysql>show slave status\G;
看到大致这些内容
File: mysql-bin.000001
Position: 1374
Binlog_Do_DB: test
Binlog_Ignore_DB: mysql
File: mysql-bin.000001
Position: 1374
Binlog_Do_DB: test
Binlog_Ignore_DB: mysql