主环境配置:
1.修改mysql的配置文件/etc/my.cnf
[mysqld]
log-bin=mysql-bin #启用二进制日志
server-id=1 #为本台服务器配置唯一的Server ID
binlog-do-db=test #要同步的数据库名
binlog-ignore-db=mysql #要忽略的数据库
#mysql复制模式,三种:SBR(基于sql语句复制),RBR(基于行的复制),MBR(混合模式复制)
binlog_format=MIXED #混合模式复制,可靠性更高
2.添加从库权限账号:
GRANT REPLICATION SLAVE ON *.* TO 'slave'@'%' IDENTIFIED BY 'password';
flush privileges; //刷新权限
show master status \G //查看主库状态
从环境配置:
master_log_file文件尾主库中 show master status 中的File,master_log_post为主库中Postion的值
change master to master_host='主mysql服务器ip',master_user='slave',master_password='123456',master_log_file='mysql-bin.000001',master_log_pos=19416434;
//刷新权限
flush privileges;
//启动从库复制
start slave;
查看从库是否同步上主库
//查看从库状态
show slave status \G;
当Slave_IO_Running: Yes Slave_SQL_Running: Yes 都为yes同步成功
在主库查看从库是否连接到
show processlist \G
其它调试语句:
#查看错误
show warnning;
#查看主库状态
show master status \G
#查看从库状态
show slave status \G
#重置主记录信息
reset master;
#重置从记录信息
reset slave;
#停止始从
stop slave;
#开始从
start slave;
#清空从所有连接、信息记录
reset slave all;
#删除从
change master to master_host=' ';
删除主从同步:
#从库
stop slave;
reset slave all;
show slave status \G
#清除从库配置文件的配置
#主库
reset master;
#清除主库配置文件的配置
#清除mysql.user从库账号
show master status \G