docker下,mysql 主从服务

拉去mysql 镜像

docker pull mysql

新建相关文件

cd /usr/mysql 

mkdir master # 主数据库文件夹

mkdir slave # 从数据库文件夹

cd master # 

mkdir data # 存放数据文件

vim my.conf # 内容下面有

cd ..

cd slave # 

mkdir data # 存放数据文件

vim my.conf # 内容下面有

my.conf 内容如下


[mysqld]
datadir = /var/lib/mysql
server-id = 1
log-bin = mysql-bin
sql_mode=STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION
lower_case_table_names=1
sync_binlog=1
binlog-do-db =test # 需要同步的数据库
binlog-ignore-db=mysql # 不需要同步的数据库
binlog-ignore-db=information_schema
binlog-ignore-db=performation_schema
binlog-ignore-db=sys

新建容器

docker run --restart=always --name mysql-master  -v  /usr/mysql/master/my.cnf:/etc/my.cnf -v /usr/mysql/master/data:/var/lib/mysql -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql



docker run --restart=always --name mysql-slave  -v  /usr/mysql/slave/my.cnf:/etc/my.cnf -v /usr/mysql/slave/data:/var/lib/mysql -p 3308:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql

使用navicat 提示 caching_sha2_password问题

docker exec -it mysql-master bash


mysql -uroot -p123456


use  mysql;

SELECT Host, User, plugin from user;

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';

FLUSH PRIVILEGES;

设置主从

进入主库


SHOW MASTER STATUS; # 复制前两个值 (File 和Position)

进入从库


STOP SLAVE; 

CHANGE MASTER TO MASTER_HOST='192.168.20.118',MASTER_PORT=3307,MASTER_USER='root',MASTER_PASSWORD='123456',MASTER_LOG_FILE='mysql-bin.000003',MASTER_LOG_POS=910 for channel '1';

start slave;

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值