zoukankan      html  css  js  c++  java
  • [MySQL] docker下安装使用mysql配置主从复制

    拉取mysql的镜像
    docker search mysql
    docker pull mysql

    通过镜像创建容器,这里先创建第一个容器作为master mysql
    -v /etc/mysql:/etc/mysql/conf.d 表示目录共享,目录提前创建好,第二个容器要目录不一样

    docker run -d --name one_mysql -v /etc/mysql:/etc/mysql/conf.d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql

    进入容器
    docker exec -it one_mysql bash

    宿主机的配置文件
    /etc/mysql/mysql.cnf

    [mysqld]
    server-id = 1
    log-bin = mysql-bin

    进入容器后
    show master status
    查看下当前的状态,如果看到binlog日志是我们配置的文件名就说明我们配置成功了

    创建第二个容器作为我们的slave mysql

    docker run -d --name two_mysql -v /etc/mysql2:/etc/mysql/conf.d -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql
    宿主机的配置文件
    /etc/mysql2/mysql.cnf

    [mysqld]
    server-id = 2

    进入容器看看变量变了没有,如果已经是我们配置的就说明配置文件是成功的
    docker exec -it two_mysql bash
    show variables like 'server_id';

    开启主从复制
    change master to master_host='172.17.0.3',master_user='root',master_password='123456',master_log_file='mysql-bin.000001',master_log_pos=155;

    start slave
    show slave status

     看到Slave_Io_Running:yes Slave_SQL_Running:yes 就可以了


    修改密码的加密方式,因为默认的加密方式,主从复制的时候,从数据库连接不上
    USE mysql;
    ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
    FLUSH PRIVILEGES;

    docker inspect 容器ID 查看该容器的IP

  • 相关阅读:
    洛谷P1600 天天爱跑步——树上差分
    洛谷P1155 双栈排序——思路题
    洛谷P2827 蚯蚓——思路题
    bzoj2763 [JLOI2011]飞行路线——分层图
    洛谷P2831 愤怒的小鸟——贪心?状压DP
    洛谷P1514 引水入城——dfs
    bzoj1854 [Scoi2010]游戏——匈牙利算法
    hdu1814 Peaceful Commission——2-SAT
    浙江理工大学: 铺地砖(3922)
    最大素因子(快)
  • 原文地址:https://www.cnblogs.com/taoshihan/p/11783703.html
Copyright © 2011-2022 走看看