本次mysql集群主要是在docker容器中进行搭建,主要是修改配置文件
注:本文采用docker1.10 mysql5.5.1 centos7
1
找到机器中mysql容器的配置文件my.cnf
(本人机器中位置/etc/my.cnf)
2
复制到宿主机目录
(自定义文件夹,将会作为外部配置文件加载到容器中)
3
由my.cnf复制两个配置文件my-m.cnf(主)、my-s.cnf(从)
4
主数据库的my-m.cnf文件修改
注:主要是在[mysqld]下新增
log-bin = mysql-bin server-id = 1
同时注意mysql数据的大小写问题
5
从数据库的my-s.cnf文件修改
注:主要是在[mysqld]下新增
log-bin = mysql-bin server-id = 2
6
接下来分别启动主、从数据库
主:
docker run -d -e MYSQL_ROOT_PASSWORD=root123
--name mysql-master -v /opt/soft/my-m.cnf:/etc/mysql/my.cnf -p 3307:3306 mysql5.5.1
从:
docker run -d -e MYSQL_ROOT_PASSWORD=root123
--name mysql-slaver -v /opt/soft/my-s.cnf:/etc/mysql/my.cnf -p 3308:3306 mysql5.5.1
7
查看数据库状态
docker ps
8
连接主库,并运行以下命令,创建一个用户用来同步数据
(本人采用navicat进行后续操作)
GRANT REPLICATION SLAVE ON *.* to 'backup'@'%' identified by '123456';
命令执行成功后查看主库状态(show master status;)
注:记住File、Position的值
9
连接到从库,运行以下命令,设置主库链接
change master to master_host='192.168.125.131',master_user='backup',master_password='123456', master_log_file='mysql-bin.000004',master_log_pos=243,master_port=3307;
10
启动同步(从库执行命令)
start slave;
11
查看同步状态
show slave status;
12
测试
可以通过简单在主库建表等,查看从库数据即可验证