docker搭建MySQL5.7主从架构集群

主从同步:一台服务器上安装,docker 安装多个数据库进行实现
1.拉取mysql5.7的镜像

docker pull mysql:5.7

2.启动两个mysql容器,一个作为master,一个作为slave
master节点,将本地的 3347端口映射到容器的3306端口,密码为123456

docker run -itd --name mysql-master -p 3347:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7

slave节点,将本地的 3348端口映射到容器的3306端口,密码为123456

docker run -itd --name mysql-slave -p 3348:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7

3.navicat连接master数据库,并执行如下命令:
在主数据库上执行这两条命令:(目的增加一个同步账号)

	GRANT REPLICATION SLAVE ON *.* TO 'backup'@'%' IDENTIFIED BY 'backup';
	SHOW GRANTS FOR 'backup'@'%';

4.修改配置文件
a.进入master节点下:

docker exec -it mysql-master /bin/bash

b.修改master主数据库的配置文件,/etc/mysql/my.cnf
容器内没有vim,需要下载vim命令

apt-get update && apt-get install vim -y

也可以通过另外一种方式对my.cnf进行修改

echo -e "[mysqld]\nserver-id=100\nlog-bin=mysql-bin" >> /etc/mysql/conf.d/mysql.cnf 

master配置文件修改完成,
c.修改slave从数据库的配置文件
进入到slave节点下:

docker exec -it mysql-slave /bin/bash

修改配置文件:

echo -e "[mysqld]\nserver-id=101\nlog-bin=mysql-bin" >> /etc/mysql/conf.d/mysql.cnf

5.重启主从数据库

docker restart mysql-slave
docker restart mysql-master

6.用navicat连接slave数据库
执行如下命令:

change master to master_host='自己的主服务器的ip', 
master_user='backup', 
master_password='backup', 
master_port=3347;

开启主从复制

start slave

查看状态

show slave status

查看
slave_IO_Running
slave_SQL_Running
的状态

docker搭建MySQL5.7主从架构集群_第1张图片
主从复制已经开启了
7.验证
在master上新建一个数据库,并在这个库下建一张表。看在slave上是否存在
master新建数据库test_database_12,并在库下边创建表student
docker搭建MySQL5.7主从架构集群_第2张图片
slave
docker搭建MySQL5.7主从架构集群_第3张图片
至此我们的主从MySQL集群架构已经搭建完毕了

mysql 数据库性能提升,分表分区

你可能感兴趣的:(linux,docker,mysql,docker,数据库)