MySQL数据单向同步

2014-11-24 18:32:13 · 作者: · 浏览: 0

一.准备环境


Master


Ip192.168.211.128


Mysql版本:5.0.77(可以通过命令mysqladmin -uroot -p123 version查看)


Slave


Ip192.168.211.131


Mysql版本:5.0.77


二.设置同步


设置master同步


1. 修改my.cnf


vi /etc/my.cnf


添加内容如下:


server-id=1 mysql标示)


log-bin=mysql-bin开启log-bin二进制日志文件默认存在/var/lib/mysql下日志文 件以mysql-bin为开头


binlog-do-db =backupbackup为需要同步的数据库名,如需同步多个数据库,可以另起行如binlog-do-db =backup1


# binlog-ignore-db=db_name 进行同步日志的数据库,不需要的话注释掉)


max-binlog-size=104857600日志的大小,超出会自动生成一个新的
修改完后保存退出,并重启mysql service mysql restart (重启正常,表示配置没错误)


2. 在作为mastermysql上建立一个账户专门用于slave来进行数据同步




mysql>grant file on *.* to backup@'192.168.211.131' identified by '123'




mysql>flush privileges




Mysql>create database backup



slave上测试账户backup是否可以访问mster上的mysql



#mysql -u backup -p -h 192.168.211.128(输入密码123,可以访问说明设置正确)




设置slave同步


1. 修改my.cnf


vi /etc/my.cnf


添加内容如下:


server-id= 2 mysql标示,不能出现重复)



master-host=192.168.211.128 (同步Masterip地址)



master-user=backup (同步所需的账号)



master-password=123 (同步账号的密码)



master-port=3306 mstart mysql的访问端口)



replicate-do-db=backup (所需同步的数据库名)



#replicate-ignore-db=mysql(不同步mysql


#replicate-do-table=backup.stu (如果只需同步backup数据库中的stu表)



#replicate-do-table=backup.teacher(如果只需同步backup数据库中的stu表)



master-connect-retry=60 (主服务器宕机或连接丢失的情况下,从服务器线程重新尝试连接主服务器之前睡眠的秒数



log-bin=mysql-bin 开启log-bin二进制日志文件


修改完后保存退出,并重启mysql service mysql restart (重启正常,表示配置没错误)


2. 在作为slavemysql上建立一用于master来进行数据同步的库




Mysql>create database backup