• docker安装mysql主从


    docker安装mysql主从

    启动主库:

    1.docker run --name master -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7.13

    启动从库:

    2.docker run --name slave -p 3307:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7.13

    ​--name 为容器指定名称,这里是master

    -p 将容器的指定端口映射到主机的指定端口,这里是将容器的3306端口映射到主机的3306端口

    -e 设置环境变量,这里是指定root账号的密码为root

    -d 后台运行容器,并返回容器ID

    docker 会自动去拉取对应版本的镜像

     

     3.docker ps -a

    查看容器是否正常运行

     4.连接master 执行以下sq 授权复制权限的账号:

    GRANT REPLICATION SLAVE ON *.* TO 'slave'@'%' IDENTIFIED BY 'slave';
    SHOW GRANTS FOR 'slave'@'%';

    执行结果:

    修改数据库配置文件(一下操作看懂之后 也可以直接去容器操作)

    5.mkdir /usr/local/mysql/master

    6.mkdir /usr/local/mysql/slave

    7.docker cp master:/etc/mysql/my.cnf /usr/local/mysql/master/my.cnf

    8.docker cp slave:/etc/mysql/my.cnf /usr/local/mysql/slave/my.cnf

    9.vi /usr/local/mysql/master/my.cnf

    添加以下两行配置项:

    #开启二进制日志,设置server-id,server-id值唯一
    log-bin=mysql-bin
    server-id=1

    10.vi /usr/local/mysql/slave/my.cnf

    添加以下两行配置项:

    #开启二进制日志,设置server-id,server-id值唯一
    log-bin=mysql-bin
    server-id=2

    11.docker cp /usr/local/mysql/master/my.cnf master:/etc/mysql/my.cnf

    12.docker cp /usr/local/mysql/slave/my.cnf slave:/etc/mysql/my.cnf

    重启两个容器: docker restart master

            docker restart slave

    13.连接slave 执行一下语句设置主从复制:

    change master to master_host='宿主机ip',master_port=3306,master_user='slave',master_password='slave';
    start slave;
    show slave status;

     如果Slave_IO_State:Connecting to master 那说明配置有问题 可能是master的host  账号 密码配置错了 检查一下就重新设置一下

    重新设置需先停掉从库运行:stop slave; 

    测试同步:在master 新建库 新建表 然后去slave刷新一下看 是否同步成功

     好了 基本的mysql主从环境已经搭建完成,接下来就可以在业务上搞读写分离了 哈哈

     下一篇准备写:mysql从库设置全局只读,并创建普通账号

  • 相关阅读:
    OpenCV 简介
    无缝滚动
    Date 与 switch的运用
    js object(对象)
    arr.sort()排序方法
    删除
    评分
    延时提示框
    数字相加求和
    自定义右键菜单
  • 原文地址:https://www.cnblogs.com/AmbitiousMice/p/12560446.html
Copyright © 2020-2023  润新知