• docker上配置mysql主从复制


    1.在docker上启动2台mysql容器:(这里3306为主,3307为从)

    docker run -d  -e MYSQL_ROOT_PASSWORD=123456  -p 3306:3306 --name 镜像id

     

    2.配置主的mysql:

    1)进入主容器:

    docker exec -it 主容器ID  /bin/bash

    cd etc/mysql/

    2)安装vim命令

    apt-get update

    apt-get install vim

    3)编辑my.cnf,在结尾添加:3行(vim my.cnf,按insert,添加完毕,shitf+:+wq保存)

    [mysqld]

    server-id=100
    log-bin=mysql-bin

     4)重启容器:

    service mysql restart

    ctrl+d 退出

    docker start 主容器id

    5)进入容器,创建从用户,登录主mysql的账号:

    docker exec -it 主容器ID  /bin/bash

    mysql -u root -p

    输入密码

    然后填写下面两句:

    CREATE USER 'slave'@'%' IDENTIFIED BY '123456';

    GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'slave'@'%';

    3.配置从mysql

    进入从mysql容器,同上修改从容器的my.cnf

     进入主mysql,输入show master status;

    在docker中查看mysql的Master的地址:docker inspect --format='{{.NetworkSettings.IPAddress}}' 容器id

     进入从mysql,配置主从的连接:

    1.stop slave;

    2.change master to master_host='172.17.0.3', master_user='slave', master_password='123456', master_port=3306, master_log_file='mysql-bin.000001', master_log_pos= 2519, master_connect_retry=30;

    3.start slave;

    在从mysql查看状态为下图,则配置成功:

    4.测试:在主mysql建立数据库,修改字段等,从mysql会有相同反应则成功了。

    总结:主从复制主要通过二进制文件来实现

    主mysql配置:1.my.cnf 2.创建从用户登录的账号和密码

    从mysql配置:1.my.cnf 2.建立主从之间的连接的slave

    参考:(https://www.cnblogs.com/songwenjie/p/9371422.html,http://blog.chinaunix.net/uid-24426415-id-77316.html)

  • 相关阅读:
    MongoDB4.0以下版本,同一台电脑安装2个MongoDB服务
    CMake编译Mysql connector C++
    Winsock I/O方法
    查看mysql版本的四种方法(转)
    WorkBench,DELETE 标准语句失败
    Qt 透明对话框 自定义透明度
    QString 分割字符串时产生乱码的问题
    winsock error 相关
    线程的分离状态与结合状态
    Oracle 语法
  • 原文地址:https://www.cnblogs.com/anlegou/p/10711489.html
Copyright © 2020-2023  润新知