如何使用Docker部署MySQL就不说了,请参考我的另一篇文章服务器快速部署--使用Docker部署MySQL,本篇就使用之前的方法部署两个MySQL到不同的虚拟机上。
主数据库Master配置
操作系统:
CentOS 7
IP地址:192.168.1.212
MySQL版本:MySQL 5.7
容器名称: felix-mysql-master
从数据库Slave配置
操作系统:
CentOS 7
IP地址:192.168.1.202
MySQL版本:MySQL 5.7
容器名称: felix-mysql-slave
参照服务器快速部署--使用Docker部署MySQL使用Docker部署完两台数据库服务器并启动之后,如果你的从库
是由主库
克隆而来的话,需要修改从库
的/mysql/data/auto.cnf
中的server-uuid,不与主库的server-uuid重复即可。
接下来开始进行配置
修改配置文件
修改主库配置文件
vi /mysql/data/my.cnf
#修改server-id = 1
修改从库配置文件
vi /mysql/data/my.cnf
#修改server-id = 10
在主库中添加用户用来提供给从库进行访问
进入主库的docker容器
docker exec -it felix-mysql-master bash
进入主库数据库
mysql -uroot -p
#输入主库mysql的root的密码
添加用户并赋予权限
GRANT ALL PRIVILEGES ON *.* TO 'felix'@'%' IDENTIFIED BY '123456';
FLUSH PRIVILEGES;
#然后退出数据库,退出容器
重启容器
docker restart felix-mysql-master
再次进入容器并进入主数据库
docker exec -it felix-mysql-master bash
mysql -uroot -p
#输入主库mysql的root的密码
进入数据库后,查看master的状态
show master status;
下图表示成功
为从库配置master的信息
进入从库的docker容器
docker exec -it felix-mysql-slave bash
进入从库数据库
mysql -uroot -p
#输入从库mysql的root的密码
配置master信息
CHANGE MASTER TO MASTER_HOST='192.168.1.212',MASTER_USER='felix',MASTER_PASSWORD='123456',MASTER_LOG_FILE='mybinlog.000009',MASTER_PORT=3306;
#然后退出数据库,退出容器
重启容器
docker restart felix-mysql-slave
再次进入容器并进入从数据库
docker exec -it felix-mysql-slave bash
mysql -uroot -p
#输入从库mysql的root的密码
进入数据库后,查看从库的状态
show slave status\G;
下图表示成功
测试主从配置是否成功
进入主数据库中,创建一个测试数据库
然后进入从数据库
show databases;
,查看是否真正的同步了可见,在主数据库做出修改之后,从数据库中的内容也改变了,达到了主从同步的目的。后面的章节会进行读写分离、水平/垂直切分、数据库集群的讲解,欢迎关注。
以上内容转载请注明出处,同时也请大家不吝你的关注和下面的赞赏
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
网友评论