栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Docker mysql主从同步

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Docker mysql主从同步

1、整体环境

此次使用虚拟机,每台虚拟机上安装docker,每个docker又安装了mysql5.7

宿主机系统 centos7
master: 192.168.0.103:3306
slave:   192.168.0.105:3306

2、安装mysql

docker run --dns 8.8.8.8 --dns 8.8.4.4 --name mysql5.7 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123 -d mysql:5.7

注意点:

  1. mysql部署在不同虚机上,端口默认3306即可。
  2. 为了docker容器与虚机相同网络,进行dns或–net:host设置。

启动报错:

解决方案如下:

修改配置文件:

vim /usr/lib/sysctl.d/00-system.conf

追加

 net.ipv4.ip_forward=1

接着重启网络

[root@localhost mytomcat]# systemctl restart network

3、master配置文件配置

进入到容器内

docker exec -it xxxx /bin/bash 

安装vim

apt-get update
apt-get install vim

修改my.cnf文件

[mysqld]
## 同一局域网内注意要唯一
server_id=100  
## 开启二进制日志功能,可以随便取(关键)
log-bin=mysql-bin

重启mysql

service mysql restart

 master数据库,用户授权

# 进入mysql
mysql -uroot -p
# 输入密码

#执行
GRANT all privileges on *.* TO 'root'@'%' identified by '123' with grant option;

GRANT REPLICATION slave,reload,super on *.* TO 'root'@'192.168.0.%' identified by '123';

FLUSH PRIVILEGES;

查看master状态

4、slave配置文件配置

参照3配置,进入到容器内、安装vim

修改my.cnf文件

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

重启mysql

service mysql restart

slave设置

#进入mysql
mysql -uroot -p

# 从库设置,这里MASTER_LOG_FILE、MASTER_LOG_POS必须与master状态一致。
CHANGE MASTER TO 
MASTER_HOST = '192.168.0.103',  
MASTER_USER = 'root', 
MASTER_PASSWORD = '123',
MASTER_PORT = 3306,
MASTER_LOG_FILE='mysql-bin.000002',
MASTER_LOG_POS=1805,
MASTER_RETRY_COUNT = 60,
MASTER_HEARTBEAT_PERIOD = 10000; 

启动slave

mysql> slave stop;
mysql> slave start;
Query OK, 0 rows affected (0.04 sec)

查询slave状态  /G,将内容竖向显示)

show slave status G;

 至此,同步完成。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/457552.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号