mysql主从复制

1. 环境

  • mysql 5.7.19
  • docker 1.13.1
  • centos7

2. 背景

这里有两个数据库,一个部署在 192.168.1.150(主服务器),一个部署在192.168.1.179(从服务器)。现在希望这两个数据库实现主从备份,150的任何数据库变动都会自动同步到179上面.

主从复制的好处:

  • 做数据的热备份。当主库发生故障时,可以快速切换到从库,保证业务始终可用。
  • 读写分离。比如业务需要跑报表数据(只有读操作), 这样的话,只需要在从库上面跑任务即可,从而减少主数据库的压力。

3. docker部署mysql

参考这篇: docker部署mysql

4. 环境变量配置

4.1 主服务器配置(192.168.1.150)

[mysqld]
log-bin=mysql-bin
server-id=1

4.2 从服务器配置(192.168.1.179)

[mysqld]
log-bin=mysql-bin
server-id=2

5. 同步账号配置

--主服务器创建从服务器同步账号(在150上面执行这条sql)
grant replication slave on *.* to 'salve_179'@'192.168.1.179' identified by '123456';

--从服务器同步
change master to master_host='192.168.1.150', master_user='salve_179',master_password='123456';

--重启从服务器

6. 注意

基本配置已经完成。主服务器的数据发生变动后,会发现从服务器的数据会很快的同步过来。

主服务器和从服务器开始状态需要一样。可以先主服务器dump出sql文件,然后开启二进制日志,然后sql导入到从服务器,接着开启主从同步即可。

results matching ""

    No results matching ""