博客
关于我
Docker搭建分布式MySQL主从服务
阅读量:399 次
发布时间:2019-03-05

本文共 1721 字,大约阅读时间需要 5 分钟。

一. 创建docker-compose.yml并启动docker compose

mkdir mysql_servercd mysql_serversudo vim docker-compose.yml

docker-compose.yml

version: "3" #版本信息services: #服务列表  mysql_1:    image: mysql:5.7    ports:      - 3306:3306    volumes:      - "/root/mysql_server/node1/data:/var/lib/mysql"      - "/root/mysql_server/node1/conf.d:/etc/mysql/conf.d"    environment:      - MYSQL_ROOT_PASSWORD=123456    restart: always  mysql_2:    image: mysql:5.7    ports:      - 3307:3306    volumes:      - "/root/mysql_server/node2/data:/var/lib/mysql"      - "/root/mysql_server/node2/conf.d:/etc/mysql/conf.d"    environment:      - MYSQL_ROOT_PASSWORD=123456  restart: always  mysql_3:    image: mysql:5.7    ports:      - 3308:3306    volumes:      - "/root/mysql_server/node3/data:/var/lib/mysql"      - "/root/mysql_server/node3/conf.d:/etc/mysql/conf.d"    environment:      - MYSQL_ROOT_PASSWORD=123456  restart: always

启动:

sudo docker-compose up

查看启动的端口:

netstat -lntp

 

二、MySQL主从配置

由于docker容器中没有vim  首先apt-get update,然后安装vim

1. docker exec -it   进入mysql镜像,修改配置文件

进入node1,在/etc/mysql/mysql.conf.d/mysqld.cnf 中添加:

server-id=100

log-bin=mysql-bin

 

进入node2,在/etc/mysql/mysql.conf.d/mysqld.cnf中添加:

server-id=101

log-bin=mysql-slave-bin

 

进入node3,在/etc/mysql/mysql.conf.d/mysqld.cnf 中添加:

server-id=102

log-bin=mysql-slave-bin

 

2. 进入到主库,查看status:

 

show master status;

 

3. 查看master的docker内网ip

sudo docker inspect  mysql_server_mysql_1_1

 

4. 从库执行同步SQL语句:

CHANGE MASTER TO 

MASTER_HOST='172.18.0.4',

MASTER_USER='root',

MASTER_PASSWORD='123456',

MASTER_LOG_FILE='mysql-bin.000003', 

MASTER_LOG_POS=154;

 

如果出现问题:

stop slave;

 

SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1; START SLAVE;

 

5. 启动slave同步进程

start slave;

 

6. 查看slave状态:

 

show slave status\G

主从配置成功后主库数据新增、修改、删除会同步到从库

 

转载地址:http://dsqzz.baihongyu.com/

你可能感兴趣的文章
Mysql Innodb 锁机制
查看>>
MySQL InnoDB中意向锁的作用及原理探
查看>>
MySQL InnoDB事务隔离级别与锁机制深入解析
查看>>
Mysql InnoDB存储引擎 —— 数据页
查看>>
Mysql InnoDB存储引擎中的checkpoint技术
查看>>
Mysql InnoDB存储引擎中缓冲池Buffer Pool、Redo Log、Bin Log、Undo Log、Channge Buffer
查看>>
MySQL InnoDB引擎的锁机制详解
查看>>
Mysql INNODB引擎行锁的3种算法 Record Lock Next-Key Lock Grap Lock
查看>>
mysql InnoDB数据存储引擎 的B+树索引原理
查看>>
mysql innodb通过使用mvcc来实现可重复读
查看>>
mysql insert update 同时执行_MySQL进阶三板斧(三)看清“触发器 (Trigger)”的真实面目...
查看>>
mysql interval显示条件值_MySQL INTERVAL关键字可以使用哪些不同的单位值?
查看>>
Mysql join原理
查看>>
MySQL Join算法与调优白皮书(二)
查看>>
Mysql order by与limit混用陷阱
查看>>
Mysql order by与limit混用陷阱
查看>>
mysql order by多个字段排序
查看>>
MySQL Order By实现原理分析和Filesort优化
查看>>
mysql problems
查看>>
mysql replace first,MySQL中处理各种重复的一些方法
查看>>