Centos7 Mysql 双机热备实现数据库高可用

花明

关注

阅读 191

2022-11-13

mysql双主热备,也称主主互备,目的是mysql数据库高可用,只支持双机,原因是mysql的复制是一主多从,但一个从服务器只能有一个主服务器。

双机热备的条件是双机mysql版本必须一致。

服务器分别为A(172.16.9.212)、B(172.16.9.213),配置步骤如下:

一、A->B主从备份

1、在主服务器A上创建从服务器备份的用户,IP地址为B的IP

grant replication slave on *.* to 'wuwei'@'172.16.9.213' identified by '123456';

2、打开主服务器A的二进制日志binarylog

vim /etc/my.cnf

新增配置如下:

Centos7 Mysql 双机热备实现数据库高可用_数据库

要同步的数据库为smartmon

配置好保存后需重启mysql

3、如果初态不同,则要同步初态

先锁定 smartmon数据库:

FLUSH TABLES WITH READ LOCK;

Centos7 Mysql 双机热备实现数据库高可用_数据库_02

然后导出smartmon数据:

mysqldump --master-data -uroot -p smartmon > /root/smartmon.sql

解除锁定:

UNLOCK TABLES;

Centos7 Mysql 双机热备实现数据库高可用_服务器_03

4、查看主服务器A的binary日志位置,配置从服务器需要用到:

show master status\G

Centos7 Mysql 双机热备实现数据库高可用_mysql_04

5、打开从服务器B的中继日志relay_log

新增配置如下:

Centos7 Mysql 双机热备实现数据库高可用_mysql_05

设置要备份的数据库为smartmon

保存,重启mysql

6、导入主服务器A的数据库初态

拷贝A生成的smartmon.sql到B服务器,再导入

mysql -uroot -p smartmon < smartmon.sql

然后可以在mysql环境中查看到数据库的数据是一样的

7、在从服务器B上开启主从同步,host为A的IP,用户密码是在主服务器A上设置备份用户,log_file和log_pos是主服务器master的binary看到的信息。

MariaDB [smartmon]> change master to

    -> master_host='172.16.9.212',

    -> master_user='wuwei',

    -> master_password='123456',

    -> master_log_file='mysql-bin.000001',

    -> master_log_pos=2338575;

Centos7 Mysql 双机热备实现数据库高可用_服务器_06

8、在从服务器B上查看slave状态

show slave status\G

Centos7 Mysql 双机热备实现数据库高可用_数据库_07

图中的红框, 两个都是Yes, 说明开启成功。

精彩评论(0)

0 0 举报