MySQL 8 多源主从配置

第一次搭建MySQL的主从配置,别人都说很简单,真动起手来.... 坑还是很多, 你懂的.

首先,深度参考了这2篇优秀博文: 

MySQL5.7多主一从(多源复制)同步配置 

MySQL主从配置详解  

如果你按照上面2篇文章中操作就Ok, 那就不需要往下看了.

 

===============下面是我的总结:  ===========

一句话: 更改DB的配置项,重启DB. 然后在slave上执行个同步的命令.

大致步骤: 

1. 先配置主库

    主库可以有多个.依次配置即可,配置后需重启MySQL服务;

    配置主库/etc/my.cnf文件,配置log-bin日志开启;

2. 再配置从库

3. 开启同步;

4. 观察结果;

踩坑记录: 

1. 所谓多源主从,就是个名称. 配置源/主(master)和从(slave), 配置多个master,就是多源,一个master,就是单源;

2. 先确保你的账户有足够权限. system account 不是root的话,起码要有sudo权限; mysql account则必须有root权限;

是的,你没看错, 假设我的场景是 2 master -> 1 slave. 那么3台服务器,3个mysql, 你得有6个账号; 不要被整晕哦,确实容易乱;

3. 确保server间网络互通. 

    可以用telnet ip 3306命令,最好用 'mysql -h {ip} -u username -p 密码' 命令,试试能不能remote login.

    on slave, to login master.

4. 如果是新库,不需要DB导入导出;

    如果是有数据的库(绝大多数情况下),需要先将主库(master)中需要做主从的DB备份(mysqldump)为文件,然后在从库(slave)导入;

5. 由于更改mysql配置需要重启mysql服务.所以重启完成后再导出DB,每次重启会导致bin-log文件位置变动;

6. 确保你master / slave的mysql版本一致. 

    mysql5.7和mysql8在某些命令在细节上有些不同, 需确认;

7. 在配置mysql bin-log开启的时候, 需配置 server_id, 这个配置只能配置为数字. 如: server_id = 17

8. 如果操作完,发现数据没同步, 问题非常难找.因为mysql的日志只会说概况. 

 

总结,

    对于非DBA用户来说,操作要小心.主要是不成功的情况下,如何做好处理预案.

    配置本身不难,问题是通常情况下,服务器环境是运维建的. mysql是DBA熟悉的,精通的,这......就有意思了.

 

最后,祝你好运!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章