zoukankan      html  css  js  c++  java
  • CentOS双机中Docker下安装Mysql并配置互为主从模式

    CentOS双机中Docker下安装Mysql并配置互为主从模式

     

    目录

    1、搜索镜像... 1

    2、拉取镜像... 1

    3、绑定端口: 1

    4、配置文件(修改/etc/mysql/my.cnf文件)... 2

    5、重启mysql... 2

    6、进入mysql 2

    7、创建同步用户... 2

    8、在mysql中查看主服务状态:... 2

    9、链接master... 3

    10、启动从服务:... 3

    11、查看slave状态... 3

    12B服务器如上配置... 3

    附录:... 3

    解决方案1... 4

    解决方案2... 4

    解决方案3... 4

    双服务器(已安装docker)如下:

    A服务器:192.168.0.90

    B服务器:192.168.0.230

    先进入A服务器

    1、搜索镜像

    #docker search mysql

    2、拉取镜像

    #docker pull mysql:5.7

    3、绑定端口:

    #docker run --name test-mysql -v /data/mysql-db:/var/lib/mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=test@2018 -d --restart=always mysql:5.7  --lower_case_table_names=1

    说明:

    test-mysql:镜像名称

    /data/mysql-db mysql数据文件地址

    /var/lib/mysql mysql原数据地址

    -p 3306:3306docker镜像端口3306映射到宿主端口3306

    test@2018mysql密码

    -d --restart=always mysql:5.7:配置为宿主重启自启动mysql

         --lower_case_table_names=1 :忽略表名大小写

    4、配置文件(修改/etc/mysql/my.cnf文件)

    #echo  -e '[mysqld] log-bin=mysql-bin server-id=90' > /etc/mysql/my.cnf

    mysql-bin:日志二进制文件

    server-id:服务器唯一ID

          skip-name-resolve:跳过域名解析【可选】

          lower_case_table_names=1//忽略表名大小写      sql-mode="STRICT_ALL_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ZERO_DATE,NO_ZERO_IN_DATE,NO_AUTO_CREATE_USER"//忽略1055信息
          default-time_zone = '+8:00'

    5、重启mysql

    #service mysql restart

    6、进入mysql

           #mysql -u root -p

           输入mysql密码:test@2018

    7、创建同步用户

           a、创建备份账号及密码

    mysql>grant all privileges on *.* to `test_replic`@`%` identified by 'test@2018';

     

    b、提交

                  mysql>flush privileges;//

     

    c、查看账号信息:

    mysql>select host,user,authentication_string from user;

     

    8、在mysql中查看主服务状态:

    show master status;

    日志文件:例:mysql-bin.000001

    Position:例:596

    9、链接master

    mysql>change master to master_host='192.168.0.230',master_user='test_replic',master_password='test@2018',master_log_file='mysql-bin.000001',master_log_pos=1011;

    mysql-bin.000001B服务器日志文件【查看show master status;

    1011B服务器日志文件位置【查看show master status;

    test_replicB服务器中第7创建的用户

    test@2018B服务器中第7创建的密码

    10、启动从服务:

    mysql>start slave

    11、查看slave状态

    mysql>show slave statusG;

    Slave_IO_RunningSlave_SQL_Running都为YES的时候就表示主从同步设置成功

    12B服务器如上配置

    附录:

    解决方案1

    1、停止slave

    mysql> stop slave;

    2、跳过错误点

    mysql> SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1;

    3、启动slave

    mysql> start slave;

    解决方案2

    1、停止slave

    mysql> stop slave;

    2、改position位置

    mysql> change master to master_log_file='mysql-bin.000288',master_log_pos=627625751;

    3、启动slave

    mysql> start slave;

    解决方案3

    删除mysql binlog

    mysql>purge master logs before'2016-09-01 17:20:00';





  • 相关阅读:
    设置系统时间
    设置访问URL不要项目名二级目录
    tomcat部署项目报错NoSuchMethodException#addServlet,addFilter
    Java多线程-线程池ThreadPoolExecutor构造方法和规则
    IDEA Debug 快捷键
    收藏网站
    eclipse添加hadoop插件
    Frida Mac环境搭建
    Android UiAutomator 1&2
    Android下monkey命令参数
  • 原文地址:https://www.cnblogs.com/94cool/p/9400600.html
Copyright © 2011-2022 走看看