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

docker Mysql主从配置

docker Mysql主从配置

  • 启动Master

准备配置文件mysqld.cnf

[mysqld]

#开启 binlog
log-bin=mysql-bin
# 当前server在cluster中的id,必须保证在cluster中唯一 
server-id=1
#只保留7天的二进制日志,以防磁盘被日志占满(可选) 
# expire-logs-days=7
#不备份的数据库 (可选) 
binlog-ignore-db=information_schema 
binlog-ignore-db=performation_schema 
binlog-ignore-db=sys
docker run -d \
-e MYSQL_ROOT_PASSWORD=123456 \
-v /etc/localtime:/etc/localtime \
-v /mnt/d/wslwork/mysql/master314/mysqld.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf \
-v /mnt/d/wslwork/mysql/master314/datas:/var/lib/mysql \
-p 3309:3306 \
--name mysql-master314 \
mysql:5.7.16 

docker logs mysql-master314 如果出现这种情况,就需要降低配置文件权限,否在会被忽略,那么bin-log是没有开启成功的.

mysqld: [Warning] World-writable config file '/etc/mysql/my.cnf' is ignored.
mysqld: [Warning] World-writable config file '/etc/mysql/mysql.conf.d/mysqld.cnf' is ignored.
那是因为权限太高了,文件被忽略了,
chmod 0444 my.cnf
chmod 0444 mysqld.cnf

创建用于同步bin-log的用户

CREATE USER 'slave' @'%' IDENTIFIED BY '123456';
GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'slave' @'%'; 
#刷新权限 
FLUSH PRIVILEGES;

SHOW MASTER STATUS;
  • 启动salve节点

准备配置文件mysqld.cnf

[mysqld]

server-id=2
relay_log=relay-log
#开启只读 意味着当前的数据库用作读,当然这也只会影响到非root的用户,如果使用root用户操作本库是不会有影响的
read_only=ON

docker run -d \
-e MYSQL_ROOT_PASSWORD=123456 \
-v /etc/localtime:/etc/localtime \
-v /mnt/d/wslwork/mysql/salve314/mysqld.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf \
-v /mnt/d/wslwork/mysql/salve314/datas:/var/lib/mysql \
-p 3310:3306 \
--name mysql-salve314 \
mysql:5.7.16 

在salve节点中,加入到master中

CHANGE MASTER TO
MASTER_HOST='192.168.1.9',
master_port = 3309,
MASTER_USER='slave',
MASTER_PASSWORD='123456',
# 根据SHOW MASTER STATUS;查看然后赋予对应的值
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=786;


# 启动slave同步(可以在连接工具中执行)
START SLAVE;

# 查看同步状态(不能在连接工具中执行)
SHOW SLAVE STATUS\G

验证是否成功,在master中创建一个数据库,可以看到同步到salve中,这就标识成功.


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

相关文章:

  • 【设计模式】《设计模式:可复用面向对象软件的基础》:设计模式怎样解决设计问题?
  • Vue 系列之:ref、reactive、toRef、toRefs
  • 合并pull request的过程
  • 色彩重生:基于 Retinex 理论的 UR2P-Dehaze 去雾增强器解析
  • PyTorch 深度学习实战(13):Proximal Policy Optimization (PPO) 算法
  • 面试常见概念区分:并发与并行、同步与异步、阻塞与非阻塞、线程同步与互斥
  • 设计模式之装饰器模式:原理、实现与应用
  • 阿里云服务器购买及环境搭建宝塔部署springboot和vue项目
  • 论文阅读笔记:Deep Unsupervised Learning using Nonequilibrium Thermodynamics
  • 在Spring Boot项目中接入DeepSeek深度求索,感觉笨笨的呢
  • 【设计模式】从事件驱动到即时更新:掌握观察者模式的核心技巧
  • 深入探究 HTML 框架:多页面同窗口显示的奥秘
  • 《灵珠觉醒:从零到算法金仙的C++修炼》卷三·天劫试炼(40)翻天印压回文串 - 最长回文子序列(区间DP)
  • [MoeCTF 2021]babyRCE
  • 词向量:优维大模型语义理解的深度引擎
  • 使用WireShark解密https流量
  • Centos 7 安装达梦数据库
  • 设计模式-工厂模式、策略模式、代理模式、责任链模式
  • STM32 RS232通信开发全解析 | 零基础入门STM32第五十九步
  • docker安装和卸载