前篇回忆 上一篇介绍了主从复制的搭建的基础流程,为这篇的配置做了铺垫。便于理解是这篇最大的亮点,说实话经过亲手尝试了主从复制之后,感觉这个东西确实不难,就简单的改几个配置就可以搞定,但是作为高级程序优化的一部分,学习还是很有必要的。
配置介绍 确认环境 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 # 请检查密码是不是配置错了
最后测试同步 再主库创建一个数据表,然后刷新从库看看是否同步成功。
总结 总体流程下来很简单、流程也不复杂、出现奇怪问题的几率小。 如果在配置中遇到问题,可在评论区提问,我会第一时间回复。预告:下一篇是读写分离的配置