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

centos7.x中使用docker搭建mysql5.7主从

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

centos7.x中使用docker搭建mysql5.7主从

一、主库搭建

1、创建保存主库数据的数据目录

mkdir -p /data/mysql/master01
mkdir conf data
chmod 777 * -R	

2、编辑配置文件

cd conf
vi my.cnf

输入以下内容:

[mysqld]
# 开启二进制日志
log-bin=mysql-bin
# 服务id不能重复
server-id=1

3、创建容器
docker使用yum安装的时候提示安装不起,ping不通www.baidu.com,解决方法:配置dns后能ping通www.baidu.com且yum安装正常

docker create --name percona-master01 -v /data/mysql/master01/data:/var/lib/mysql -v /data/mysql/master01/conf:/etc/my.cnf.d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 percona:5.7.23

4、启动容器

docker start percona-master01 && docker logs -f percona-master01

5、创建同步账户及授权(navicat里面)

create user 'rzf-name'@'%' IDENTIFIED by 'rzf-pwd';
grant replication SLAVE on *.* to 'rzf-name'@'%';
flush PRIVILEGES;

# 如果出现 [Err] 1055 - expression #1 of ORDER BY clause is not in GROUP BY clause and错误 
# 解决方案:在my.cnf配置文件中设置
sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BYZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'

6、查看master状态

show master status;

# 查看二进制日志相关的配置项
show global VARIABLES LIKE 'binlog%';
# 查看server相关的配置项
show global VARIABLES LIKE 'server%';
二、从库搭建

1、创建保存从库数据库数据的目录

mkdir -p /data/mysql/slave01
cd /data/mysql/slave01
mkdir conf data
chmod 777 * -R

2、创建配置文件

cd conf
vim my.cnf

输入如下内容:

[mysqld]
# 服务id,同一个集群内不可重复
server-id=2
sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ZUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'

3、创建容器

docker create --name percona-slave01 -v /data/mysql/slave01/data/:/var/lib/mysql -v /data/mysql/slave01/conf/:/etc/my.cnf.d -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123456 percona:5.7.23

4、启动容器

docker start percona-slave01 && docker logs -f percona-slave01

5、配置主从关系(master_log_file和master_log_pos与之前的master节点信息相对应)
5.1、在从库里面执行如下命令:

# (其中master_log_file为show master status命令结果集中master_log_file,Position为master_log_pos)
CHANGE MASTER TO 
 master_host='192.168.2.200',
 master_user='rzf-name',
 master_password='rzf-pwd',
 master_port=3306,
 master_log_file='mysql-bin.000004',
 master_log_pos=737;

6、启动slave

start slave;
# 查看状态
show slave status;

7、查看状态

三、主从复制机制

1、默认机制ROW

# 可以使用如下命令查看复制模式
show GLOBAL VARIABLES like 'binlog%';


2、修改binlog_format
在master节点的配置文件内添加如下内容即可:

binlog_format=MIXED # (ROW默认,STATEMENT,MIXED建议)
# 重启master节点。
# 再次查看
show global variables like 'binlog%';


模式释义:

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

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

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