MYSQL双主备份实践(docker方式)

326 阅读1分钟

一、环境以及架构

服务系统IP地址mysql版本
linux1.1.1.108.0.26
linux1.1.1.118.0.26

二、在1.1.1.10服务器安装mysql并创建用户

创建mysql

docker run -d --restart=always -p 13308:3306 --privileged=true -v /home/docker/mysql/mysql8_1/log:/var/log/mysql -v /home/docker/mysql/mysql8_1/data:/var/lib/mysql -v /home/docker/mysql/mysql8_1/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=root -e TZ=Asia/Shanghai --name lcytest8 mysql:8.0.26

查看容器ID

docker ps

进入容器中

docker exec -it 容器ID /bin/bash

修改mysql的配置文件

cd /etc/mysql/

如果没有vim命令,需要安装,安装步骤:

apt-get update;

apt-get install vim;

修改mysql的配置文件,将binlog打开

vim my.cnf

在/etc/my.cnf文件中的“[mysqld]”段添加如下内容:

server-id = 1

log-bin=mysql-bin

relay-log = mysql-relay-bin

replicate-wild-ignore-table=mysql.%

replicate-wild-ignore-table=test.%

replicate-wild-ignore-table=information_schema.%

登录mysql

mysql -uroot -proot

创建远程同步用户

create user 'lcy2'@'1.1.1.%' identified by 'lcy000000';

GRANT ALL PRIVILEGES ON . TO 'lcy2'@'1.1.1.%' WITH GRANT OPTION;

三、 以上操作在 1.1.1.11 也操作一遍

四、创建主从同步

查看binlog的文件名以及位置

分别在 1.1.1.10 和 1.1.1.11服务器上,然后记下来。

在1.1.1.10数据库执行以下操作

change master to master_host='1.1.1.11',master_port=13308,master_user='lcy2',master_password='lcy000000',master_log_file='mysql-bin.000002',master_log_pos=2950;

启动slave

start slave;

查看slave是否启动

show slave status \G

image.png 提示以上内容即启动成功了

在1.1.1.11上数据库上执行以下操作

change master to master_host='1.1.1.10',master_port=13308,master_user='lcy2',master_password='lcy000000',master_log_file='mysql-bin.000002',master_log_pos=2950;

启动slave

start slave;

查看slave是否启动

show slave status \G

以上操作即完成了了双主备份设置,然后在1.1.1.10 和 1.1.1.11两个数据库里创建库、创建表、插入数据等操作,可以实现双向备份。