1、需要在某一个点开始同步数据,所以需要锁定数据库后,把数据从一个库倒到另外一个。
mysqldump -h 10.10.12.34 -u root -p xxx > a.sql
mysql -h localhost -u root -p xxx <a.sql
2、数据库版本一致
3、需要远程访问权限
GRANT ALL PRIVILEGES ON * . * TO 'root'@'10.10.11.250' IDENTIFIED BY '***'
可能要关闭skip-external-locking 和 bind-address
4、my.cnf配置
主:
server-id = 1 #主机标示,整数
log_bin = mysql-bin #确保此文件可写
read-only =0 #主机,读写都可以
binlog-do-db =test #需要备份数据,多个写多行
binlog-ignore-db=mysql #不需要备份的数据库,多个写多行
显示主库状态
show master status;
从:
server-id = 2
log_bin = mysql-bin
master_host = 192.168.196.68
master_port = 3306
master_user = slave
master_password = 111321
master_connect_retry = 10 #如果从服务器发现主服务器断掉,重新连接的时间差(秒)
#master_log_file='mysql-bin.000009'
#master_log_pos=106
replicate-do-db = test #只复制某个库
replicate-ignore_db = mysql #不复制某个库
显示从库状态
show slave status\G
可能要
change master to master_host='10.10.11.250',master_user='root',master_password='root',master_log_file='mysql-bin.000043',master_log_pos=106;