美文网首页
docker安装mysql-主从

docker安装mysql-主从

作者: 指尖架构141319 | 来源:发表于2019-07-25 14:00 被阅读0次

要先配置docker-compose,根据docker-compose配置主从

sudo curl -L https://github.com/docker/compose/releases/download/1.17.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

1.新建配置文件

  • 创建mysql主从库配置目录
mkdir -p /docker-data/mysql/master/conf
mkdir -p /docker-data/mysql/slave/conf
  • 在/docker-data/mysql/master/conf下,创建my.cnf配置文件
[client]
port=3306
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
character_set_server=utf8
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
# 配置大小写不敏感
lower_case_table_names=1
## 同一局域网内注意要唯一
server-id=100  
## 开启二进制日志功能(关键)
log-bin=mysql-bin
  • 在/docker-data/mysql/slave/conf下,创建my.cnf配置文件
[client]
port=3306
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
character_set_server=utf8
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
# 配置大小写不敏感
lower_case_table_names=1
## 同一局域网内注意要唯一
server-id=101 

2.使用docker-compose来管理mysql主从库

  • 在/docker-data/mysql下创建docker-compose.yaml
vi docker-compose.yml
version: '3'
services:
  mysql-slave:
    image: mysql:5.7
    depends_on:
      - mysql-master
    links:
      - mysql-master
    volumes:
      - /docker-data/mysql/slave/data:/var/lib/mysql
      - /docker-data/mysql/slave/conf:/etc/mysql
      - /docker-data/mysql/slave/log:/var/log/mysql
    ports:
         - "3308:3306"
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: root
    container_name: mysql-slave
  mysql-master:
    image: mysql:5.7
    volumes:
      - /docker-data/mysql/master/data:/var/lib/mysql
      - /docker-data/mysql/master/conf:/etc/mysql
      - /docker-data/mysql/master/log:/var/log/mysql
    ports:
         - "3307:3306"
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: root
    container_name: mysql-master
  • 启动compose来启动mysql
docker-compose up -d

3.用客户端登录

  • 操作主数据库配置
    ip+3307
    root
    root
CREATE USER 'slave'@'%' IDENTIFIED BY '123456';
GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'slave'@'%';

SHOW MASTER STATUS ;
image.png
  • 操作从数据库
    ip+3308
    root
    root
    从数据库配置,连接从库配置从库同步连接(指定连接的ip/port/user/passwd以及上图中show master status命令得到的file和position值)
CHANGE MASTER TO MASTER_HOST='172.16.223.132',MASTER_PORT=3307,MASTER_USER='slave',MASTER_PASSWORD='123456',MASTER_LOG_FILE='mysql-bin.000003',MASTER_LOG_POS=609;
#启动同步进程
START SLAVE;

4.测试结果状态

  • 主库查询进程:SHOW PROCESSLIST


    image.png
  • 从库查询进程:SHOW PROCESSLIST


    image.png

相关文章

网友评论

      本文标题:docker安装mysql-主从

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