docker配置mysql主从
1、下载MySQL镜像
docker pull mysql:5.7
docker images
2、启动MySQL容器
#主库
docker run -p 3316:3306 --name main_mysql -e MYSQL_ROOT_PASSWORD=pwd@123 -d mysql:5.7#从库
docker run -p 3326:3306 --name slave_mysql -e MYSQL_ROOT_PASSWORd=pwd@123 -d mysql:5.7
3、查看容器状态
docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1b9cc22c327b mysql:5.7 "docker-entrypoint.s…" 47 minutes ago Up 22 minutes 33060/tcp, 0.0.0.0:3326->3306/tcp slave_mysql
d4bc65eb3708 mysql:5.7 "docker-entrypoint.s…" 48 minutes ago Up 22 minutes 33060/tcp, 0.0.0.0:3316->3306/tcp main_mysql#启动完成后
#使用Navicat工具测试连接两个连接,分别为master和slave
4、修改主MySQL容器配置
docker exec -it 容器Id /bin/bash
cd /etc/mysql/mysql.conf.d#安装vim命令:
apt-get update
apt-get install vimvim mysqld.cnf[mysqld]## 同一局域网内注意要唯一
server-id=100
## 开启二进制日志功能,可以随便取(关键)
log-bin=mysql-bin
5、修改从MySQL容器配置
docker exec -it 容器Id /bin/bash
cd /etc/mysql/mysql.conf.d#安装vim命令:
apt-get update
apt-get install vim[mysqld]
## 设置server_id,注意要唯一
server-id=101
## 开启二进制日志功能,以备Slave作为其它Slave的Master时使用
log-bin=mysql-slave-bin
## relay_log配置中继日志
relay_log=edu-mysql-relay-bin
6、重启MySQL主从容器
docker restart 主容器Id
docker restart 从容器Id
7、创建主MySQL的授权访问用户
docker exec -it 容器Id /bin/bash
mysql -uroot -ppwd@123#创建用户并授权,允许从库服务连接主库的服务
CREATE USER 'slave'@'%' IDENTIFIED BY 'pwd@123';
GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'slave'@'%';#生效 刷新一下,
flush privileges;
8、查看主库的binlog文件
mysql> show master status;
+------------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000001 | 769 | | | |
+------------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)
9、查看主MySQL容器的host
docker inspect --format='{{.NetworkSettings.IPAddress}}' main_mysql
172.17.0.2
10、配置从MySQL容器的读取设置
docker exec -it 从容器Id /bin/bash
mysql -uroot -ppwd@123change master to master_host='172.17.0.2', master_user='slave', master_password='pwd@123', master_port=3306, master_log_file='mysql-bin.000001', master_log_pos= 769, master_connect_retry=30;#生效 刷新一下,
flush privileges;
11、开启事务
#查看从库的状态
show slave status \G Slave_IO_Running: NoSlave_SQL_Running: No#开启事务
start slave;
show slave status \G Slave_IO_Running: YesSlave_SQL_Running: Yes
12、测试
#在主库建设一个库 进行测试
#主库
docker exec -it main_mysql sh
mysql -uroot -ppwd@123
create database test;
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
| test |
+--------------------+#从库
docker exec -it slave_mysql sh
mysql -uroot -ppwd@123
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
| test |
+--------------------+
5 rows in set (0.00 sec)
docker配置mysql主从相关推荐
- docker安装mysql并配置mysql主从集群
一.安装docker 1.1 安装之前卸载原有的环境 yum remove docker \docker-client \docker-client-latest \docker-common \do ...
- docker mysql主从_使用docker 实现MySQL主从同步/读写分离
1. 利用 docker 实现 mysql 主从同步 / 读写分离 为了保证数据的完整和安全,mysql 设计了主从同步,一个挂掉还可以用另个.最近重构论坛,想来改成主从吧.担心失误,就先拿 dock ...
- django给mysql配主从_django中的mysql主从读写分离:一、配置mysql主从分离
一.配置mysql主从同步的步骤: (1) 在主服务器上,必须开启二进制日志机制和配置一个独立的ID (2) 在每一个从服务器上,配置一个唯一的ID,创建一个用来专门复制主服务器数据的账号 (3) 在 ...
- docker搭建mysql主从
前言 为什么要使用Docker搭建? 不管是使用源码安装还是离线安装,在服务器上安装一个mysql总会花费不少的时间,而且对于新人来说,中间稍不注意哪一步出错了就导致安装失败,我之前也是安装过2次才成 ...
- docker安装mysql主从视频教程_docker安装mysql主从
docker安装mysql主从 启动主库: 1.docker run --name master -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql:5 ...
- docker安装mysql主从_docker安装mysql主从
docker安装mysql主从 启动主库: 1.docker run --name master -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql:5 ...
- docker下mysql主从搭建
使用docker 建立mysql主从 环境:Mac Mysql:5.7.36 目标: master主机端口 3307 slave从机端口 3308 在Mac建立master,slave对应目录 log ...
- Docker配置mysql以及宿主机容器目录挂载
Docker配置mysql以及宿主机容器目录挂载 在之前的docker 挂载中主要说明了创建数据卷并挂载的方式.现在我们做一种创建普通目录并进行挂载的方式. 基于mysql镜像的拉取并进行配置. 首先 ...
- 使用Docker配置MySQL
ba使用Docker配置MySQL 内容 安装Docker(略过),直接使用服务器或者你虚拟机对应的安装命令进行安装即可,安装之后打开docker服务,centos 7 下使用systemctl st ...
最新文章
- 日本Quoine的ICO平台正式将BCH作为融资货币
- nn.CrossEntropyLoss()
- C#流对象使用完后不立即释放的问题
- 解决针对ubuntu11.04安装中文包后不能正常查看或使用pdf和Archiver的问题
- html编辑器不支持自定义样式,百度编辑器自定义按钮样式问题(写在cssRules不起做用)?...
- C++面向对象思想 两条直线交点计算
- 2019 国家网信办启动网络生态治理专项行动 剑指12类违法违规互联网信息
- html 输出不了php,html不打印输出文本
- 副本引发的问题corrupt data exception
- 42表盘直径是从哪测量_爱彼15703和15710区别在哪?背透和密底哪个更好?
- python 柱状图 内部颜色_matplotlib画柱状图,设置同一幅图上的柱子呈现不同颜色...
- USB大容量存储设备无法启动--这个设备(服务)的驱动程序已被禁用。另一个驱动程序可以提供这个功能。 (代码 32)
- 短距离无线通信设备的天线设计
- Pitfall of OO Programming
- 华为应用市场业务介绍
- 百度地图常用jsapi
- base64照片压缩
- 中国科学院大学计算机分数线低,2018中国科学院大学录取分数线公布,能否冲击清北霸主地位?...
- python输出字母金字塔_python实现输入任意一个大写字母生成金字塔的示例
- 合伙创业协议书标准模板