1.启动mysql服务
首先把两台mysql服务全部启动成功
2.修改Mysql主库配置文件/etc/my.cnf
在最下面增加配置:
log-bin=mysql-bin #[必须]启用二进制日志
server-id=200 #[必须]服务器唯一ID(唯一即可)
3.重启主库mysql
systemctl restart mysqld
4.创建数据同步的用户并授权
create user ‘xiaoming ‘@’%’ identified by 'Root@123456 ';
grant replication slave on . to ‘xiaoming ‘@’%’;
注:上面SQL的作用是创建一个用户 xiaoming ,密码为 Root@123456 ,并且给xiaoming用户授予REPLICATION SLAVE权限。常用于建立复制时所需要用到的用户权限,也就是slave必须被master授权具有该权限的用户,才能通过该用户复制。
5.查看Mysql的File列和Positon列:
show master status;
注:上面SQL的作用是查看Master的状态,执行完此SQL后不要再执行任何操作
(如果执行其他的操作表中的数据是可能会改变的)
6.修改Mysql从库配置文件/etc/my.cnf
在最下面增加配置:
server-id=201 #[必须]服务器唯一ID(唯一即可)
7.重启从库mysql
systemctl restart mysqld
8. 登录从库Mysql,设置主库地址及同步位置
CHANGE MASTER TO
MASTER_HOST='xxxx',
MASTER_USER='root',
MASTER_PASSWORD='123456',
MASTER_LOG_FILE='mysql-bin.000002',
MASTER_LOG_POS=571106275;
## 启动
start slave;
参数说明:
A. master_host : 主库的IP地址
B. master_user : 访问主库进行主从复制的用户名(刚刚在主库创建的用户名)
C. master_password : 访问主库进行主从复制的用户名对应的密码
注:D和E看第五步查询的值 文件名和同步位置必须一致
D. master_log_file : 从哪个日志文件开始同步(上述查询master状态中展示的有)
E. master_log_pos : 从指定日志文件的哪个位置开始同步(上述查询master状态中展示的有)
9. 查看从数据库的状态
show slave status;
然后通过状态信息中的 Slave_IO_running 和 Slave_SQL_running 可以看出主从同步是否就绪,如果这两个参数全为Yes,表示主从同步已经配置完成
10 命令
## 停止从库 跳过当前错误 启动从库
stop slave;
set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
start slave
# 查看从库状态
show slave status;
## 重置主从
reset master;
RESET REPLICA