美文网首页技术Code
Mysql多主一从配置

Mysql多主一从配置

作者: bear_small | 来源:发表于2021-09-06 10:52 被阅读0次

    概要说明

    mysql基于docker-compose进行安装,使用服务器(局域网)

    Master1:192.168.100.1
    Master2:192.168.100.2
    Slave:192.168.100.3

    异构数据同步配置说明

    1. 安装docker

    2. 安装dosker-compose

    3. Docker相关操作,安装部分进行单独管理,在服务器新建相关管理目录

      a) /usr/local/docker/mysql

      b) mysql下新建目录master(/usr/local/docker/mysql/master)用于挂载mysql配置和数据相关文件,防止docker重启数据丢失

      c) 新建docker-compose.yml文件,内容如下:

    mysql.png

    注意,镜像一定指定版本,不要使用last

    d) 在master/conf/mycnf目录下新建文件 my.cnf,此文件为多数据库配置关键文件,配置如下:

    master-1-mycnf.png

    e) 启动镜像(需在当前目录下,含yml文件)

    docker-compose up –d

    以上命令是yml文件名称为docker-compose的情况下使用,使用其他名称,需要加-f,如:docker-compose –f mysql.yml up –d

    注:可以先docker-compose up启动,此时可以查看启动日志,看是否存在问题,确认成功后加 –d ,含义为后台运行

    1. master1和master2都为以上配置

    2. slave配置

      a) mysql安装配置一致

      b) 挂载目录不同 /usr/local/docker/mysql/slave ,目录为slave,其余目录都一致,配置和数据在slave目录下

      c) 在slave/conf/mycnf目录下新建文件 my.cnf,此文件为多数据库配置关键文件,配置如下:

    slave-mycnf.png

    d) 启动docker镜像

    1. mysql设置主从相关数据权限和配置(内部配置)

      a) 进入mysql容器
      docker exec –it mysql bash

      b) 登录mysql
      mysql –uroot -proot

      c) master 相关配置命令
      新建用户并设置权限(该用户用于主从复制)
      grant replication slave on *.* to 'slave'@'%' identified by '123456';

      d) 刷新mysql权限
      flush privileges;

      e) 主从复制有两种模式,binlog模式 和 GTID模式,两种模式都可以完成复制,此处采用GTID模式,并以此说明,binlog模式有需要了解可以@me

      f) 采用GTID模式,master配置即完成

      g) Slave配置

      命令:
      change master to master_host='192.168.100.221',master_port=3306,master_user='slave', master_password='123456',master_auto_position = 1 for channel 'master-3';

      h) 开启主从复制模式
      start slave for channel master-3;
      i) 查看主从同步状态是否成功
      show slave status\G;

    只有【Slave_IO_Running】和【Slave_SQL_Running】都是Yes,则同步是正常的。

    如果是No或者Connecting都不行,可查看mysql-error.log,以排查问题。

    相关文章

      网友评论

        本文标题:Mysql多主一从配置

        本文链接:https://www.haomeiwen.com/subject/dijewltx.html