docker部署MySQL主从
架构说明:
服务器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主从相关推荐
- Docker部署mysql主从模式
文章目录 1. 获取mysql镜像 2. 拉取mysql镜像 3. 启动mysql容器 4. 使用Navicat连接mysql 5. 更改my.cnf配置 7.在master数据库(主库)中创建同步用 ...
- 在kubernetes集群中部署mysql主从
本文介绍在kubernetes环境中部署mysql主从集群,数据持久化采用nfs. 一.环境介绍 Mysql版本:5.7 Mysql master节点: 主机名:vm1 IP地址:192.168.11 ...
- 史上最详细Docker部署Mysql主从复制,带每一步骤图!!!
没有夸大标题哈,能够成功的,实测后发文 本文主要讲怎么用Docker部署Mysql的主从复制,看起来很长,实际非常简单的,看一遍,立马就能懂的. 直接CV也能搭建起来,莫慌. 我们一起加油!!! 地点 ...
- docker搭建mysql主从
前言 为什么要使用Docker搭建? 不管是使用源码安装还是离线安装,在服务器上安装一个mysql总会花费不少的时间,而且对于新人来说,中间稍不注意哪一步出错了就导致安装失败,我之前也是安装过2次才成 ...
- k8s(七)—statefullset部署mysql主从集群
1 使用statefullset部署mysql主从集群 mysql-0是master mysql-1和mysql-2是两个备份 当mysql写的时候,找headless service中的mysql- ...
- mysql主从同步linux,linux中部署mysql主从同步示例详解(绝对经典,看了必会)
准备两台服务器并安装MySQL5.7 master服务器 192.168.254.132 slave服务器 192.168.254.136 确保两台服务器安装的mysql版本一致,本测试使用的是mys ...
- docker 打包mysql_基于docker部署mysql的数据持久化问题
本人最近在使用docker部署mysql时,在持久化mysql数据时遇到了一个有趣的问题,将排查过程及思考记录在这里,以备后查. 先简单描述下我遇到的问题:在mysql容器中创建了两个数据库,然后使用 ...
- docker mysql主从_使用docker 实现MySQL主从同步/读写分离
1. 利用 docker 实现 mysql 主从同步 / 读写分离 为了保证数据的完整和安全,mysql 设计了主从同步,一个挂掉还可以用另个.最近重构论坛,想来改成主从吧.担心失误,就先拿 dock ...
- mysql 部署到服务器_服务器快速部署--使用Docker部署MySQL
最近使用Dokcer部署各种服务端所需的环境,目的是为了后面的服务器集群.负载均衡.数据库集群做铺垫,以便准备好服务器高并发.数据库高并发提供测试环境.这里记录一下Docker部署MySQL的过程,为 ...
最新文章
- 全面分析 Spring 的编程式事务管理及声明式事务管理--转
- devc++调试下一步没反应_某化工厂污水处理站SBR工艺调试方案
- flex 图片上传并以二进制保存到oracle数据库,flex 加载并显示图片 图片转化成二进制...
- LPCTSTR和CString的关系
- 内含干货PPT下载|一站式数据管理DMS及最新解决方案发布
- linux 内核定时器精度_linux使用select实现精确定时器详解
- c语言作业答案运行成功图片,桂林电子科技大学 C语言 程序设计 习题 答案(周信东) 实验1 C程序的运行环境和最简单的C程序设计...
- 树组件:主要配置项、属性、方法
- 计算机毕业设计Java在线小说系统(源码+系统+mysql数据库+Lw文档)
- 关于AD9371FilterWizard无法运行问题
- 强劲有力的EnableQ在线调查问卷引擎
- RS485转USB插电脑上通讯不上
- 安装 Vmware和创建虚拟机即密码破解
- 是时候重估“返利网”的市场价值了
- 大数据与云计算概论2
- 北京大学优秀计算机论文,计算机系在ESEC/FSE'20上发表的论文获得ACM SIGSOFT杰出论文奖...
- SSL/TLS安全:Schannel中WinShock漏洞及解决办法
- RocketMq最强总结 带你rocket从入门到入土为安
- Hive项目之谷粒影音:ETL清洗原数据、Hive统计视频观看数top10、视频类别top、视频观看数top其所属类别、类别流量top、类别热度top、上传视频用户数量top、类别视频观看top
- java:错误: 找不到符号
热门文章
- [转]常用的Javascript设计模式
- JVM学习笔记上(概述-本地方法栈)
- pythonturtle画猪头_使用python turtle画高达
- 漫话:如何给女朋友解释什么是Mock?
- 苹果android版本最高多少,微信最新版上线,苹果iOS和Android都有,你更新了吗?...
- 一直用眼镜布擦眼镜,其实眼镜布并不是用来擦眼镜的
- 为什么有人专收老旧小区的顶楼?
- 【Java面向对象】学习Java经典必刷题库
- 给我写个10000字的微信预约座位小程序论文
- IOS开发之国际化(中英语言版本设置)