本次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测试
可以通过简单在主库建表等,查看从库数据即可验证
注:始终重启--restart=always
docker run -d -it --restart=always -e MYSQL_ROOT_PASSWORD=root123
--name mysql-master -v /opt/dockerconf/mysql/my-m.cnf:/etc/mysql/my.cnf -v
mysqlm_data:/var/lib/mysql -p 3306:3306
网友评论