docker中mysql主从配置文件

禁止写操作:flush tables with read lock;

解锁:unlock tables;

进入容器:docker exec -it id bash

备份所有数据: mysqldump -uroot -p123+Jvmp=456 --all-databases > safeweb.sql

退出容器,复制safeweb.sql到主机上:docker cp id:safeweb.sql .

在slave数据库中还原数据

master数据库

开启二进制日志:

vi volumes/management/mysqld.cnf

[mysqld]

server-id = 1

log-bin = mysql-bin

重启容器

配置权限:GRANT ALL PRIVILEGES ON . to ‘backup’@’%’ identified by ‘123456’;

查看二进制日志:show master status\G;

slave 数据库配置

配置中继日志,和server-id

vi volumes/management/mysqld.cnf

[mysqld]

server-id = 2

relay_log = edu-mysql-relay-bin

启动容器

进入容器并删除server-uuid的配置,容器启动mysql,使用同一个镜像导致server-uuid相同,需要删除,让其重新生成

cat /var/lib/mysql/auto.cnf

[auto]
server-uuid=4942dfae-1844-11eb-ad02-000c29d69fbe

删除:rm /var/lib/mysql/auto.cnf

重启容器:docker restart id

登陆数据库权限配置:change master to master_host=‘192.168.50.134’,master_user=‘backup’,master_password=‘123456’,master_log_file=‘mysql-bin.000001’,master_log_pos=154,master_port=3306;

开启主从同步:start slave;

查看是否正常:show slave status;

https://blog.csdn.net/qq_42114918/article/details/92385977

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于DockerMySQL主从数据库配置需要完成以下步骤: 1. 启动Master(主)容器:使用命令`docker run -p 3306:3306 --name main_mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7`启动一个MySQL容器,并设置容器名称为main_mysql,密码为123456。 2. 连接到Master(主)容器:使用命令`docker exec -it main_mysql bash`进入Master(主)容器的命令行界面。 3. 配置Master(主):在Master(主)容器内部,编辑MySQL配置文件`my.cnf`,将`bind-address`设置为Master(主)容器的IP地址。 4. 重启Master(主)容器:使用命令`docker restart main_mysql`重启Master(主)容器使配置生效。 5. 启动Slave(从)容器:使用命令`docker run -p 3340:3306 --name slave_mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7`启动一个MySQL容器,并设置容器名称为slave_mysql,密码为123456。 6. 连接到Slave(从)容器:使用命令`docker exec -it slave_mysql bash`进入Slave(从)容器的命令行界面。 7. 配置Slave(从):在Slave(从)容器内部,编辑MySQL配置文件`my.cnf`,将`bind-address`设置为Slave(从)容器的IP地址,并添加以下配置: ``` server-id = 2 relay-log = /var/lib/mysql/mysql-relay-bin relay-log-index = /var/lib/mysql/mysql-relay-bin.index log_slave_updates = 1 ``` 8. 重启Slave(从)容器:使用命令`docker restart slave_mysql`重启Slave(从)容器使配置生效。 9. 在Slave(从)容器内部执行以下命令连接到Master(主)容器并设置复制: ``` CHANGE MASTER TO MASTER_HOST='<Master(主)容器的IP地址>', MASTER_USER='root', MASTER_PASSWORD='123456', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=0; ``` 10. 启动复制:在Slave(从)容器内部执行命令`START SLAVE;`启动主从复制。 11. 检查主从复制状态:在Slave(从)容器内部执行命令`SHOW SLAVE STATUS\G;`,确保"Slave_IO_Running"和"Slave_SQL_Running"都为"YES",表示主从复制已成功配置
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值