简介
笔者所用MySQL为8.0.x
前置环境:MySQL已经安装成功
方法 / 步骤
一: 主数据库进行配置
1.1: 创建从库账号
- 修改/etc/my.cnf文件, 完成之后重启数据库
[mysqld]
log-bin=mysql-bin #[必须]启用二进制日志
server-id=100 #[必须]服务器唯一ID
重启完成执行以下SQL
-- 创建用户
create user 'slave'@'%' identified by 'useradmin';
-- 用户授权全部权限
grant all privileges on *.* to 'slave'@'%' with grant option;
-- 刷新权限
flush privileges;
show master status;
-- 查看用户权限
show grants for 'slave'@'%';
-- 回收用户所有权限即可
revoke all privileges,grant option from 'slave'@'%';
1.2: 创建从库账号
- 从数据库修改配置后执行SQL
change master to
master_host='192.168.1.220',master_user='slave',
master_port=3307,master_password='useradmin',
master_log_file='mysql-bin.000001',master_log_pos=2297;
-- 开启从库监听
start slave;
-- 开启从库监听
stop slave
-- 查看从数据库状态 注意 Slave_IO_Running 和 Slave_SQL_Running 两个字段都为Yes才为正常
show slave status;
如果不是双yes,有网络 /pos /Ip/账号等等原因, 可以排查之后 用 stop slave 命令关闭然后 执行主库配置然后再开启
然后在主库进行CRUD后从库可以正常同步
stop slave;
-- 表示跳过一步错误,后面的数字可变
set global sql_slave_skip_counter =1;
start slave;