docker 配置mysql(主从篇)

  1、创建MySQL

        1.1 本地创建mysql相关文件 data, conf

docker cp docker_mysql:/etc/my.cnf ./conf/

        结构如图:

        

         1.2 创建mysql容器

 docker run -itd --name docker_mysql_3312 --privileged=true -p 3312:3306 -v /usr/local/software/mysql/3312/data:/var/lib/mysql -v /usr/local/software/mysql/3312/conf/my.cnf:/etc/mysql/my.cnf -v /usr/local/software/mysql/3312/mysql-files:/var/lib/mysql-files -e MYSQL_ROOT_PASSWORD=1234 mysql

        创建成功后data文件内容

        创建主从设备中的从设备就是再创n个端口不同的mysql即可,如:

2、配置主从设备

        2.1 修改配置文件

        修改conf文件夹中的my.conf文件(如果权限不足无法更改则使用chmod来修改文件权限)

        主设备:

                从设备:

                 重启docker

        2.2 配置主设备

        进入主设备        

          在主设备中配置从设备权限

         查看master状态

        查看master IPAddress

        2.3 配置从设备

        操作执行顺序:关闭从设备中的从设备服务,重置该服务,然后设置修改该服务内对主服务的设置为主设备的信息,然后启动从设备服务。

 查看从服务状态:

        

 3. 总结

1. 进master(3306)  docker  exec -it mysql_3306 bash
2. 显示master状态:   show master status;    ---记住 mysql-bin , position
3. 退出容器
4. 进入slave(3310)  docker  exec -it mysql_3310 bash
5. mysql -uroot -p123
6. stop slave;
7. reset slave;
8. change master to master_host='172.17.0.2',master_user='slave',master_password='1234',MASTER_LOG_FILE='mysql-bin.000001',MASTER_LOG_POS=606;(master_host为master的IPAddress地址,slave为债之前在master创建的 用户名,密码为对应的密码, MASTER_LOG_FILE为master中的file,MASTER_LOG_POS为master中的position)
9. start slave;
10. show slave status \G:

PS:

        当出现问题时,查看报错信息,针对报错信息解决问题,比如:

跟随报错信息,进入performance_schema数据库,查询表replication_applier_status_by_worker,从而得到具体的报错内容,然后解决。

进而针对问题解决问题。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值