架构说明:

服务器Ip 状态
192.168.161.20 master
192.168.161.21 slave

MySQL版本:5.7.35

操作系统: centos7.9

一、master部署

1) master配置文件

说明:配置文件讲挂载进容器

[mysqld]
binlog_format = row
innodb_buffer_pool_size = 4G
enforce_gtid_consistency = on
server_id = 675
expire_logs_days = 7
slow_query_log = on
open_files_limit = 65536
log-bin = /var/lib/mysql/mysql-bin
long_query_time = 3
skip_name_resolve = true
log_output = file
gtid_mode = on_permissive
port = 3306
slow_query_log_file = /var/lib/mysql/mysql-slow.log
max_connections = 6000
sql-mode = "ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
character-set-client-handshake = FALSE
character-set-server = "utf8mb4"
collation-server = "utf8mb4_unicode_ci"
            
[client]
default-character-set = "utf8mb4"

[mysql]
deault-character-set = "utf8mb4"

注意:配置文件路径为: /home/mysql-master/conf/mysql.conf,与后面的docker容器挂载相匹配

2) 启动master容器

docker run -d -p 3306:3306 --privileged=true \
-v /home/mysql-master/log:/var/log/mysql  \
-v /home/mysql-master/data:/var/lib/mysql  \
-v /home/mysql-master/conf/mysql.conf:/etc/mysql/my.cnf -e MYSQL_ROOT_PASSWORD=lxm@123456 \
-v /usr/share/zoneinfo/Asia/Shanghai:/etc/localtime \
--name mysql-master mysql:5.7.35

3)创建同步用户

CREATE USER 'slave'@'%' IDENTIFIED BY '123456';
GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'slave'@'%';
flush privileges;

二、从服务器搭建

1) 从服务器配置文件

[mysqld]
log_queries_not_using_indexes = on
innodb_buffer_pool_size = 4G
enforce_gtid_consistency = on
server_id = 50
slow_query_log = on
open_files_limit = 65536
log-bin = /var/lib/mysql/mysql-bin
long_query_time = 3
skip_name_resolve = true
log_output = file
gtid_mode = on_permissive
port = 3306
slow_query_log_file = /var/lib/mysql/mysql-slow.log
max_connections = 6000
character-set-client-handshake = FALSE
character-set-server = "utf8mb4"
collation-server = "utf8mb4_unicode_ci"
sql-mode = "ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

[client]
default-character-set = "utf8mb4"

[mysql]
default-character-set = "utf8mb4"

2) 启动从服务器

docker run -d -p 3306:3306 --privileged=true \
-v /home/mysql-slave/log:/var/log/mysql  \
-v /home/mysql-slave/data:/var/lib/mysql  \
-v /home/mysql-slave/conf/mysql.conf:/etc/mysql/my.cnf \
-v /usr/share/zoneinfo/Asia/Shanghai:/etc/localtime \
-e MYSQL_ROOT_PASSWORD=lxm@123456 \
--name mysql-slave mysql:5.7.35

3) 主从设置

change master to master_host='192.168.161.20',

master_user='slave',

master_password='123456',

master_port=3306,

master_log_file='mysql-bin.000002',

master_log_pos=154,

master_connect_retry=30;

参数说明:

master_log_file: 通过master服务器执行:show master status\G获取

master_log_pos:通过master服务器执行:show master status\G获取

4) 启动从服务器主从复制功能

####启动主从复制
start slave;

### 确认
show slave status \G

三、测试验证

master执行数据写入

#创建数据库
CREATE DATABASE lxm DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

# 创建测试表
create table lxm_user(id int(2)not null,sname varchar(10) not null ,identify_no varchar(20),location varchar(100),primary key(id,sname));
insert into lxm_user values(1,'lxm','43900030949940930490','wuhan');
insert into lxm_user values(2,'lqingqing','43905990409292893','huangshi');
insert into lxm_user values(3,'wfengqiang','199376778794','dawang');
commit;

#从服务器验证

show databases;

select * from lxm_user;

docker部署MySQL主从相关推荐

  1. Docker部署mysql主从模式

    文章目录 1. 获取mysql镜像 2. 拉取mysql镜像 3. 启动mysql容器 4. 使用Navicat连接mysql 5. 更改my.cnf配置 7.在master数据库(主库)中创建同步用 ...

  2. 在kubernetes集群中部署mysql主从

    本文介绍在kubernetes环境中部署mysql主从集群,数据持久化采用nfs. 一.环境介绍 Mysql版本:5.7 Mysql master节点: 主机名:vm1 IP地址:192.168.11 ...

  3. 史上最详细Docker部署Mysql主从复制,带每一步骤图!!!

    没有夸大标题哈,能够成功的,实测后发文 本文主要讲怎么用Docker部署Mysql的主从复制,看起来很长,实际非常简单的,看一遍,立马就能懂的. 直接CV也能搭建起来,莫慌. 我们一起加油!!! 地点 ...

  4. docker搭建mysql主从

    前言 为什么要使用Docker搭建? 不管是使用源码安装还是离线安装,在服务器上安装一个mysql总会花费不少的时间,而且对于新人来说,中间稍不注意哪一步出错了就导致安装失败,我之前也是安装过2次才成 ...

  5. k8s(七)—statefullset部署mysql主从集群

    1 使用statefullset部署mysql主从集群 mysql-0是master mysql-1和mysql-2是两个备份 当mysql写的时候,找headless service中的mysql- ...

  6. mysql主从同步linux,linux中部署mysql主从同步示例详解(绝对经典,看了必会)

    准备两台服务器并安装MySQL5.7 master服务器 192.168.254.132 slave服务器 192.168.254.136 确保两台服务器安装的mysql版本一致,本测试使用的是mys ...

  7. docker 打包mysql_基于docker部署mysql的数据持久化问题

    本人最近在使用docker部署mysql时,在持久化mysql数据时遇到了一个有趣的问题,将排查过程及思考记录在这里,以备后查. 先简单描述下我遇到的问题:在mysql容器中创建了两个数据库,然后使用 ...

  8. docker mysql主从_使用docker 实现MySQL主从同步/读写分离

    1. 利用 docker 实现 mysql 主从同步 / 读写分离 为了保证数据的完整和安全,mysql 设计了主从同步,一个挂掉还可以用另个.最近重构论坛,想来改成主从吧.担心失误,就先拿 dock ...

  9. mysql 部署到服务器_服务器快速部署--使用Docker部署MySQL

    最近使用Dokcer部署各种服务端所需的环境,目的是为了后面的服务器集群.负载均衡.数据库集群做铺垫,以便准备好服务器高并发.数据库高并发提供测试环境.这里记录一下Docker部署MySQL的过程,为 ...

最新文章

  1. 全面分析 Spring 的编程式事务管理及声明式事务管理--转
  2. devc++调试下一步没反应_某化工厂污水处理站SBR工艺调试方案
  3. flex 图片上传并以二进制保存到oracle数据库,flex 加载并显示图片 图片转化成二进制...
  4. LPCTSTR和CString的关系
  5. 内含干货PPT下载|一站式数据管理DMS及最新解决方案发布
  6. linux 内核定时器精度_linux使用select实现精确定时器详解
  7. c语言作业答案运行成功图片,桂林电子科技大学 C语言 程序设计 习题 答案(周信东) 实验1 C程序的运行环境和最简单的C程序设计...
  8. 树组件:主要配置项、属性、方法
  9. 计算机毕业设计Java在线小说系统(源码+系统+mysql数据库+Lw文档)
  10. 关于AD9371FilterWizard无法运行问题
  11. 强劲有力的EnableQ在线调查问卷引擎
  12. RS485转USB插电脑上通讯不上
  13. 安装 Vmware和创建虚拟机即密码破解
  14. 是时候重估“返利网”的市场价值了
  15. 大数据与云计算概论2
  16. 北京大学优秀计算机论文,计算机系在ESEC/FSE'20上发表的论文获得ACM SIGSOFT杰出论文奖...
  17. SSL/TLS安全:Schannel中WinShock漏洞及解决办法
  18. RocketMq最强总结 带你rocket从入门到入土为安
  19. Hive项目之谷粒影音:ETL清洗原数据、Hive统计视频观看数top10、视频类别top、视频观看数top其所属类别、类别流量top、类别热度top、上传视频用户数量top、类别视频观看top
  20. java:错误: 找不到符号

热门文章

  1. [转]常用的Javascript设计模式
  2. JVM学习笔记上(概述-本地方法栈)
  3. pythonturtle画猪头_使用python turtle画高达
  4. 漫话:如何给女朋友解释什么是Mock?
  5. 苹果android版本最高多少,微信最新版上线,苹果iOS和Android都有,你更新了吗?...
  6. 一直用眼镜布擦眼镜,其实眼镜布并不是用来擦眼镜的
  7. 为什么有人专收老旧小区的顶楼?
  8. 【Java面向对象】学习Java经典必刷题库
  9. 给我写个10000字的微信预约座位小程序论文
  10. IOS开发之国际化(中英语言版本设置)