当前位置:网站首页>docker MySQL主从备份
docker MySQL主从备份
2022-04-23 11:25:00 【oaa114龙仔】
1.下载mysql:5.7镜像
docker pull mysql:5.7
2.创建挂载目录
vi mk.sh
mkdir -p install /root/mysqlms/data
mkdir -p install /root/mysqlms/conf.d
mkdir -p install /root/mysqlms/mysql-files
mkdir -p install /root/mysqlsl/data
mkdir -p install /root/mysqlsl/conf.d
mkdir -p install /root/mysqlsl/mysql-files
./mk.sh
3.创建主服务器
创建主容器
docker run --name sqlms -p 3306:3306 -d -v /root/mysqlms/data:/var/lib/mysql/ -v /root/mysqlms/mysql-files:/var/lib/mysql-files/ -v /root/mysqlms/conf.d:/etc/mysql/conf.d/ -e MYSQL_ROOT_PASSWORD=root mysql:5.7
进入主容器并将my.cnf删除
docker exec -it sqlms bin/bash
rm -rf my.cnf
exit
退出容器
主机内配置主服务器
进入挂载目录
cd /root/sqlms/conf.d
创建一个mysql配置文件
vi my.cnf
#开启bin-log日志并给与一个id
[mysqld]
server-id=1
log-bin=mysql-bin
然后进主容器内将my.cnf移动到原来的目录
mv my.cnf /etc/mysql/
docker restart sqlms
创建从服务容器
创建从服务器
docker run --name sqlsl -p 3307:3306 -d -v /root/mysqlsl/data:/var/lib/mysql/ -v /root/mysqlsl/mysql-files:/var/lib/mysql-files/ -v /root/mysqlsl/conf.d:/etc/mysql/conf.d/ -e MYSQL_ROOT_PASSWORD=root mysql:5.7
重复主服务容器的操作直到mysql配置文件
修改从mysql配置文件
进入挂载目录
cd /root/sqlms/conf.d
生成配置文件
vi my.cnf
[mysqld]
server-id=2
log-bin=mysql-slave-bin
relay_log=edu-mysql-relay-bin
重启服务
docker restart sqlsl
准备环节结束开始正式操作
主服务容器操作
进入主容器启动mysql
docker exec -it sqlms bin/bash
mysql -uroot -proot
在命令行输入
CREATE USER 'slave'@'%' IDENTIFIED BY '123456';
GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'slave'@'%';
创建一个slave用户并授权读写任何文件权限,用于主从备份数据
show master status;
需要使用到file和pos数据
从服务容器操作
mysql命令行输入
change master to master_host='172.17.0.2', master_user='slave', master_password='123456', master_port=3306, master_log_file='mysql-bin.000001', master_log_pos= 154, master_connect_retry=60;
master_log_pos=154 ,就是值记录最大位置
master_host :Master的地址,指的是容器的独立ip
master_port:Master的端口号,指的是容器的端口号
master_user:用于数据同步的用户
master_password:用于同步的用户的密码
master_log_file:指定 Slave 从哪个日志文件开始复制数据,即上文中提到的 File 字段的值
master_log_pos:从哪个 Position 开始读,即上文中提到的 Position 字段的值
master_connect_retry:如果连接失败,重试的时间间隔,单位是秒,默认是60秒
start slave;
开启主从备份
show slave status \G
查看状态
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
上两项值都是yes则开启成功,如果其中有no或者connection就代表开启失败。
版权声明
本文为[oaa114龙仔]所创,转载请带上原文链接,感谢
https://blog.csdn.net/vxandox/article/details/124351294
边栏推荐
- qt5. 8. You want to use SQLite in the 64 bit static library, but the static library has no method to compile the supporting library
- Mysql中一千万条数据怎么快速查询
- Mysql中有关Datetime和Timestamp的使用总结
- Résumé de la relation entre GPU, cuda et cudnn
- MySQL failed to insert the datetime type field without single quotation marks
- 探究机器人教育的器材与教学
- 学习 Go 语言 0x02:对切片 Slice 的理解
- When the activity is in progress! Click the link to join the live studio to participate in "can AI really save energy?" Let's have a discussion!
- Upgrade the functions available for cpolar intranet penetration
- 用curl库压缩成发送字符串为utf8并用curl库发送
猜你喜欢
随机推荐
Laravel adds custom helper functions
系统编程之高级文件IO(十三)——IO多路复用-select
Mysql系列SQL查询语句书写顺序及执行顺序详解
Simple construction of rebbitmq
积极参与中学机器人竞赛的意义
CUMCM 2021-b: preparation of C4 olefins by ethanol coupling (2)
map<QString, bool> 的使用记录
QT 怎么把QWigdet变成QDialog
The songbird document editor will be open source: starting with but not limited to markdown
MIT:用无监督为世界上每个像素都打上标签!人类:再也不用为1小时视频花800个小时了
MQ在laravel中简单使用
Common parameters of ffmpeg command line
Canvas详解
学习 Go 语言 0x06:《Go 语言之旅》中 斐波纳契闭包 练习题代码
Excel · VBA custom function to obtain multiple cell values
Pytorch neural network trainer
Résumé de la relation entre GPU, cuda et cudnn
解读机器人创造出来的艺术
stylecloud ,wordcloud 库学习及使用例子
MySQL8. 0 upgraded stepping on the pit Adventure