当前位置: 首页 > article >正文

【摸鱼】Docker配置主从mysql数据库环境

  1. docker pull mysql拉取docker镜像,国内现在访问不了docker hub,可以去阿里云上镜像加速器地址https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
  2. 启动主库docker run -p 3306:3306 --name master-mysql --privileged=true -v /app/docker/data/master-mysql/log:/var/log/mysql -v /app/docker/data/master-mysql/data/:/var/lib/mysql -v /app/docker/data/master-mysql/conf/:/etc/mysql -v /etc/localtime:/etc/localtime:ro -v /app/docker/data/master-mysql/mysql-files/:/var/lib/mysql-files -e MYSQL_ALLOW_EMPTY_PASSWORD=yes -d mysql
    -v后面是卷映射,privileged是获取root权限,MYSQL_ALLOW_EMPTY_PASSWORD=yes是允许数据root无密码登录避免一些奇怪的错误
  3. docker exec -it master-mysql bash进入主库容器内
  4. mysql -uroot登录数据库
  5. use mysql切换到mysql数据库
  6. ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456' PASSWORD EXPIRE NEVER;更改密码,123456可以替换为你自己要设定的密码
  7. udpate user set Host='%' where User='root'打开访问地址限制
  8. 启动从库docker run -p 3308:3306 --name slave-mysql --privileged=true -v /app/docker/data/slave-mysql/log:/var/log/mysql -v /app/docker/data/slave-mysql/data/:/var/lib/mysql -v /app/docker/data/slave-mysql/conf/:/etc/mysql -v /etc/localtime:/etc/localtime:ro -v /app/docker/data/slave-mysql/mysql-files/:/var/lib/mysql-files -e MYSQL_ALLOW_EMPTY_PASSWORD=yes -d mysql
  9. docker exec -it slave-mysql bash进入从库容器内
  10. mysql -uroot登录数据库
  11. use mysql切换到mysql数据库
  12. ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456' PASSWORD EXPIRE NEVER;更改密码,123456可以替换为你自己要设定的密码
  13. udpate user set Host='%' where User='root'打开访问地址限制
  14. 在映射卷地址/app/docker/data/master-mysql/conf/中创建文件my.cnf,内容如下
[musqld]
server_id=1
  1. 重启主容器docker restart master-mysql
  2. docker exec -it master-mysql bash进入主库容器
  3. mysql -uroot -p
  4. CREATE USER 'replication_user'@'%' IDENTIFIED WITH mysql_native_password BY 'root';配置主库账号
  5. GRANT REPLICATION SLAVE ON *.* TO 'replication_user'@'%';
  6. FLUSH PRIVILEGES;
  7. SHOW MASTER STATUS;查看主服务器状态在这里插入图片描述
  8. 退出容器,查看主服务器ip地址docker inspect master-mysql | grep IPAddress
  9. 在映射卷地址/app/docker/data/slave-mysql/conf/中创建文件my.cnf,内容如下
[musqld]
server_id=2
  1. 重启从库容器docker restart slave-mysql
  2. docker exec -it slave-mysql bash
  3. mysql -u root -p
  4. CHANGE REPLICATION SOURCE TO SOURCE_HOST='172.17.0.2', SOURCE_USER='replication_user', SOURCE_PASSWORD='root', SOURCE_LOG_FILE='binlog.000005', SOURCE_LOG_POS=4566;配置从库服务器,SOURCE_HOST为主服务器Ip 地址,SOURCE_LOG_FILE为主服务器 binlog 文件,SOURCE_LOG_POS为 position,通过在主节点SHOW MASTER STATUS可以获取
  5. 启动从服务器复制进程START REPLICA;
  6. 查看从服务器状态SHOW REPLICA STATUS;
  7. 若要重新搭建STOP REPLICA;RESET REPLICA;

http://www.kler.cn/a/414745.html

相关文章:

  • 华为E9000刀箱(HWE9000V2)服务器硬件监控指标解读
  • 几个bev模型部署常用的命令
  • NAT:连接私有与公共网络的关键技术(4/10)
  • ffmpeg 增亮 docker 使用
  • 网络安全问题与大忌
  • 【rustdesk】客户端和服务端的安装和部署(自建服务器,docker,远程控制开源软件rustdesk)
  • Taro 鸿蒙技术内幕系列(三) - 多语言场景下的通用事件系统设计
  • QT6学习第六天 初识QML
  • 详解 PyTorch 中的 DataLoader:功能、实现及应用示例
  • 如何手动设置ubuntu服务器的ip、子网掩码、网关、DNS
  • JavaScript实用工具lodash库
  • Qt MinGW环境下使用CEF
  • 数据挖掘/深度学习-高校实训解决方案
  • Qt—QLabel 使用总结
  • 使用ENSP实现OSPF
  • 68000汇编实战01-编程基础
  • 如何分析Windows防火墙日志
  • Vue前端开发-动态插槽
  • net 站点安全 OwaspHeaders.Core
  • 抓包之查看websocket内容
  • 深入解析音视频流媒体SIP协议交互过程
  • 人工智能如何改变你的生活?
  • sd webui整合包怎么安装comfyui
  • 泷羽sec-shell脚本(1)脚本创建执行与变量使用 学习笔记
  • 【c++篇】:探索c++中的std::string类--掌握字符串处理的精髓
  • Linux 命令 whoami:揭秘当前用户身份