zoukankan      html  css  js  c++  java
  • centos7用docker安装mysql5.7.24后配置主从

    1)使用docker安装完成mysql5.7.24,我规划的是3台:

    192.168.0.170(Master)

    192.168.0.169(Slave)

    192.168.0.168(Slave)

    2)配置三台机器的my.cnf配置文件

    我三台机器的配置文件都是/usr/local/mysql/conf/my.cnf 

    3)设置三台主从服务器配置
    vi /usr/local/mysql/conf/my.cnf

    [mysql]
    default-character-set=utf8
    [mysqld]
    interactive_timeout = 120

    wait_timeout = 120
    max_allowed_packet = 32M
    log-bin=mysql-bin
    server-id=170

    character-set-server=utf8

    vi /usr/local/mysql/conf/my.cnf

    [mysql]
    default-character-set=utf8
    [mysqld]
    interactive_timeout = 120
    wait_timeout = 120
    max_allowed_packet = 32M
    log-bin=mysql-bin
    server-id=169
    character-set-server=utf8

    vi /usr/local/mysql/conf/my.cnf

    [mysql]
    default-character-set=utf8
    [mysqld]
    interactive_timeout = 120
    wait_timeout = 120
    max_allowed_packet = 32M
    log-bin=mysql-bin
    server-id=168

    character-set-server=utf8

    3)创建主从服务器容器

    在170,169,168上运行启动mysql

    docker run --name mysql5_7_24 -p 3306:3306 -v /usr/local/mysql/conf:/etc/mysql/conf.d -v /usr/local/mysql/log:/var/log/mysql -v /usr/local/mysql/data:/var/lib/mysql --privileged=true -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7.24

    docker run --name mysql5_7_24 -p 3306:3306 -v /usr/local/mysql/conf:/etc/mysql/conf.d -v /usr/local/mysql/log:/var/log/mysql -v /usr/local/mysql/data:/var/lib/mysql --privileged=true -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7.24

    docker run --name mysql5_7_24 -p 3306:3306 -v /usr/local/mysql/conf:/etc/mysql/conf.d -v /usr/local/mysql/log:/var/log/mysql -v /usr/local/mysql/data:/var/lib/mysql --privileged=true -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7.24


    4)登录170主服务器的mysql,查询master的状态


    170主库创建用户

    SET sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));
    GRANT REPLICATION SLAVE ON *.* to 'backup'@'%' identified by '123456';


    5)登录169和168从服务器的mysql,设置与主服务器相关的配置参数

    SET sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));
    change master to master_host='192.168.0.170',master_user='backup',master_password='123456',master_log_file='mysql-bin.000001',master_log_pos=439;

    master_host为docker的地址不能写127.0.0.1
    master_user是在主库创建的用户
    master_log_pos是主库show master status;查询出的Position(439是最开始查询出来的,和上面的截图22437不同)


    然后在169和168上启动服务

    start slave;

    查看服务状态

    show slave status;

    Waiting for master to send event 就是成功了
    Connecting to master 多半是连接不通

    之后主库的修改都能同步到从库了

  • 相关阅读:
    cad.net 仿lisp函数专篇
    操作篇 cad一个小技巧,通过块中块插入含有字段块,保证更新
    cad.net 外部参照功能和相对路径转换
    cad.net 动态块名 .IsDynamicBlock出错 eInvalidObjectId错误.
    cad.net 委托的学习
    cad.net 关于保存文件Database.SaveAs()出现"eFileAccessErr"错误的解决方法
    测试篇 c# winFrom Close报错 System.ObjectDisposedException:“无法访问已释放的对象。
    测试篇 c#枚举类型怎么用?
    cad.net 2008使用WPF(摘录山人)
    日志篇 随着win10更新...
  • 原文地址:https://www.cnblogs.com/xiaohanlin/p/10021146.html
Copyright © 2011-2022 走看看