两台服务器:
1)主服务器windows系统;ip:192.168.2.1
2)从服务器centos7系统;ip:192.168.2.2
步骤:
1、主服务器配置
1)、打开mysql下的my.ini增加下列代码
log-bin = mysql-bin #给sql二进制日志文件取名
server-id = 1 #给服务器设置ID
2)、文件保存成功后重启mysql
3)、给从服务器分配一个有权限的账号名称
GRANT replication slave ON *.* TO 'slave'@'%' IDENTIFIED BY '111111';
4)、查看主服务器的bin日志记录,进入mysql运行 show master status;后 可看到如下图
2、从服务器配置
1)、打开opt/lampp/etc下的my.cnf增加下列代码
server-id = 2
replicate-do-db = ××× #需要复制的数据库
replicate-ignore-db = ××× #不需要复制的数据库
2)、保存文件并重启lampp:/opt/lampp/lampp restart;
3)、进入mysql:/opt/lampp/bin/mysql
4)、关闭slave,执行语句: stop slave;
5)、配置slave,执行语句:
CHANGE MASTER TO
MASTER_HOST="192.168.2.1", #主服务器IP(若有防火墙,需要内网IP)
MASTER_USER="slave", #主服务器mysql用户名(是否有权限在从服务器登录)
MASTER_PASSWORD="hc8866", #主服务器mysql密码
MASTER_LOG_FILE="mysql-bin.000308", #主服务器mysql日志名
MASTER_LOG_POS=1075496; #主服务器mysql日志记录位置
6)、开启slave,执行语句:start slave;
7)、查看slave状态,执行语句:show slave status\G; 显示如下则配置成功
8)、若出现Slave_IO_Running:connecting;或Slave_SQL_Running:No;等情况
(1)、主服务器设置了防火墙,请使用内网ip地址
(2)、主服务器的mysql登录账号无权限
(3)、主、从服务器数据库不一致
针对以上问题可通过show slave status\G;打印出错误的问题所在并进行相应的调整。