linux搭建mysql主从同步
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
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
发表评论