假设windows服务器的mysql安装在D:\mysql-5.7.22-winx64,ip为192.168.1.34,要备份的数据库为test,账号密码均为root
从服务器(centos7)设置/etc目录下my.cnf添加内容如下:
# For advice on how to change settings please see
#对哪个用户添加就在哪个用户的[mysqld]下添加
[mysqld]
#服务器id
server-id=2
#要从主机同步的库
replicate-do-db=test
主服务器(windows)配置mysql安装目录下my.ini修改如下
[mysqld]
basedir=D:\mysql-5.7.22-winx64
datadir=D:\mysql-5.7.22-winx64\data
port=3306
server-id=1 #服务器id不固定,整数即可
log-bin=D:\mysql-5.7.22-winx64\mysql-log #同步日志的文件存放路径
sync-binlog=1
binlog-do-db=test #备份哪些些数据库的二进制日志
# Error Logging.
log-error="data.err"
主从服务器配置完成以后均需重启mysql服务
windows cmd命令下登陆mysql,输入:
SHOW MASTER STATUS;
查询状态,得到如下图,记录标红的地方,从库要用(从库启动同步前MASTER_LOG_FILE配置成下图的mysql-log.000006,MASTER_LOG_POS配置成下图的1156)
shell命令登陆从服务器(centos7)数据库,执行
mysql> stop slave; #暂停从库同步
mysql>CHANGE MASTER TO MASTER_HOST='192.168.1.34',MASTER_USER='root',
mysql>MASTER_PASSWORD='root',MASTER_LOG_FILE='mysql-log.000006',MASTER_LOG_POS=1156;
mysql> start slave; #启动从库同步
最后测试