Daichong'blog

前篇回忆

上一篇介绍了主从复制的搭建的基础流程,为这篇的配置做了铺垫。便于理解是这篇最大的亮点,说实话经过亲手尝试了主从复制之后,感觉这个东西确实不难,就简单的改几个配置就可以搞定,但是作为高级程序优化的一部分,学习还是很有必要的。

配置介绍

确认环境

1.服务器1号:192.168.22.130(主库服务器)

2.服务器2号:192.168.22.128(从库服务器)

主库配置
1
2
3
4
5
6
7
vi /etc/my.cnf
# 配置主库标识(这里数字随意,但是一定要比从库配置的数字大,必须是数字)
server_id=1
# 开启日志功能&配置日志文件
log_bin=master_log
# 保存退出&重启mysql服务
systemctl restart mysqld
配置从库连接用户
1
2
3
4
5
6
7
8
9
10
# 登陆mysql
mysql -uroot -p
# 进入mysql库
use mysql
# 新增一个用户,并且绑定这个用户只能从192.168.22.128这个IP访问
grant all privileges on *.* to 'slave'@'192.168.22.128' identified by 'slave123' with grant option;
# 刷新权限
flush privileges;
# 这里要注意,真实的正式环境配置需要规定从库的连接IP,不能设置为*。
# 密码不能设置过于简单,最少是字母和数字组合的6位,否则会报错。

查看主库状态show master status

这里的File就是主库的binlog文件。

从库配置
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
vi /etc/my.cnf
# 这里只需要配置一个标识就行(一定要比主库的标识数字小)
server_id=2
# 重启mysql服务
systemctl restart mysqld
# 关闭slave
stop slave
# 给从库配置主库参数
mysql> change master to
-> master_host="ip地址"
-> master_user="授权时指定的用户名"
-> master_password="用户密码"
-> master_log_file="binlog日志"
-> master_log_pos=偏移量;
# 重启从库服务
start slave
# 测试是否正常连接
show slave status \G;
# 如果报错error connecting to master 'repluse@192.168.22.130:3306' - retry-time: 60 retries:1
# 请检查密码是不是配置错了
最后测试同步

再主库创建一个数据表,然后刷新从库看看是否同步成功。

总结

总体流程下来很简单、流程也不复杂、出现奇怪问题的几率小。
如果在配置中遇到问题,可在评论区提问,我会第一时间回复。
预告:下一篇是读写分离的配置

 评论