欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 维修 > Docker中配置Mysql主从备份

Docker中配置Mysql主从备份

2025/2/20 19:25:31 来源:https://blog.csdn.net/weixin_44677512/article/details/144117560  浏览:    关键词:Docker中配置Mysql主从备份

Mysql配置主从备份

  • 一、Docker中实现跨服务器主从备份
  • 二、配置步骤
    • 1.配置主库
    • 2.配置从库
    • 3.遇到问题
    • 3.其它使用到的命令


一、Docker中实现跨服务器主从备份

在 Docker 中配置 MySQL 主从备份主要通过 MySQL 主从复制实现

二、配置步骤

1.配置主库

# 进入mysql主库容器
docker exec -it mysql-master bash# 连接mysql
mysql -127.0.0.1 ip -P 3306 -uroot -p 'password'# 创建用于从库连接的用户
CREATE USER 'replica_user'@'%' IDENTIFIED WITH 'mysql_native_password' BY 'replica_password';
GRANT REPLICATION SLAVE ON *.* TO 'replica_user'@'%';
FLUSH PRIVILEGES;# 检查二进制日志状态(记录File和Position)
SHOW MASTER STATUS;

在这里插入图片描述

2.配置从库

# 进入mysql主库容器
docker exec -it mysql-slave bash# 连接mysql
mysql -127.0.0.1 ip -P 3306 -uroot -p 'password'-- 配置从库连接到主库
CHANGE MASTER TOMASTER_HOST='mysql-master',MASTER_PORT=3306,MASTER_USER='replica_user',MASTER_PASSWORD='replica_password',MASTER_LOG_FILE='binlog.000003',MASTER_LOG_POS=932570,GET_MASTER_PUBLIC_KEY=1;-- 启动从库复制
START SLAVE;# 查看状态
SHOW SLAVE STATUS\G;# 检查复制状态:确认以下两项为 Yes,表示复制成功
# Slave_IO_Running: Yes
# Slave_SQL_Running: Yes

3.遇到问题

Fatal error: The replica I/O thread stops because source and replica
have equal MySQL server ids; these ids must be different for
replication to work (or the --replicate-same-server-id option must be
used on replica but this does not always make sense; please check the
manual before using it).

  • 主库与从库的id重复了,可以修改主库或者从库的id(mysql默认配置server-id=1)
    • 修改从数据库配置文件

[mysqld]
server-id=2
log-bin=mysql-bin
binlog-format=row
sql_mode=STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION
- 重启mysql容器

docker restart mysql-slave
- 使用配置遇到提醒

mysql: [Warning] World-writable config file ‘/etc/mysql/my.cnf’ is ignored.
这个警告 mysql: [Warning] World-writable config file ‘/etc/mysql/my.cnf’ is ignored. 通常表示 MySQL 配置文件 /etc/mysql/my.cnf 的权限设置不安全。MySQL 出于安全原因,会忽略权限设置为 “world-writable”(任何人都可写)的配置文件。
- 进入容器修改权限

docker exec -it mysql-server bash
chmod 644 /etc/mysql/my.cnf

3.其它使用到的命令

  • 删除主从配置
# 停止从库的复制线程
STOP SLAVE;# 清除主从复制配置
RESET SLAVE ALL;

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词