Mysql多主一从配置

概要说明

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多主一从配置)