Docker机搭建mysql集群

1、准备工作

1.1 Docker虚拟机。本实例采用Win10安装的虚拟机.安装方法请参见https://blog.csdn.net/oyinhezhiguang/article/details/80550534

1.2 Linux连接终端。本实例采用xshell。

1.3 mysql客户端。本实例采用Navicat for MySQL。

2、开始搭建

2.1进入Docker虚拟机。以Win10安装的虚拟机为例。

1、打开Windows Powershell。在【搜索Windows】输入框中输入win,选择Windows Powershell。

2、在弹出的窗口中输入docker-machine start default命令,启动Docker虚拟机。

3、输入docker-machine env default | Invoke-Expression命令进入docker环境。

2.2下载mysql镜像文件

1、本实例采用mysql5.6搭建集群,所以下载mysql5.6.输入命令:docker pull mysql:5.6.

2、下载完毕后,执行docker images,确认mysql5.6已经下载成功。

2.3 搭建mysql集群

1、通过xshell登录linux虚拟环境。需要指出的是,win10系统安装的docker机的linux系统的用户名是:docker,密码:tcuser。

2、在/home/docker路径下创建文件my-m.cnf和my-s.cnf两个文件。

3、在my-m.cnf文件中添加如下内容。

4、在my-s.cnf文件中添加如下内容。

5、创建并启动镜像。

docker run -d -e MYSQL_ROOT_PASSWORD=root123 --name mysql-m -v /home/docker/my-m.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf  -p 3307:3306 mysql:5.6

docker run -d -e MYSQL_ROOT_PASSWORD=root123 --name mysql-s -v /home/docker/my-s.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf  -p 3308:3306 mysql:5.6

6、进入主mysql容器,即执行命令:docker exec -it mysql-m /bin/bash

7、创建用户test.执行命令:create user 'test'@'192.168.99.100' identified by '123456';并授权,执行如下命令:

GRANT REPLICATION SLAVE ON *.* to 'test'@'%' identified by '123456';

8、 执行命令:show master status,记录file属性和Position属性,如上图.

9、进入从mysql,并进入mysql。

10、执行命令:change master to master_host='192.168.99.100',master_user='test',master_password='123456',master_log_file='mysql-bin.000004',master_log_pos=478,master_port=3307;

11、启动命令:start slave;

12、查看状态:show slave status \G;

13、此时mysql集群搭建成功。接下来我们来验证一下。

2.4 验证集群效果

1、登录主数据库。

2、登录从数据库。

3、可以看到两个mysql都没有test数据库。

4、在主数据库中创建数据库test;create database test,此时看到从数据库也有test数据库。

5、主数据库在test数据库中创建student表。create table student(id int primary key,name varchar(20));

6、插入数据。

集群搭建完毕。

猜你喜欢

转载自blog.csdn.net/lyn0503/article/details/85339077