依赖及环境
Docker1.7 yum install https://get.docker.com/rpm/1.7.1/centos-6/RPMS/x86_64/docker-engine-1.7.1-1.el6.x86_64.rpm
系统 CentOS7
安装
安装docker,这里使用docker是为了方便安装mysql,你们可以选择直接安装mysql
直接通过yum install https://get.docker.com/rpm/1.7.1/centos-6/RPMS/x86_64/docker-engine-1.7.1-1.el6.x86_64.rpm安装docker
安装完成后我们通过service docker start启动docker
拉取MySQL5.7镜像
docker pull mysql:5.7
这样说明拉成功了
MySQL主从复制
我这里配置的是一主一从
首先需要创建两个文件夹作为挂在数据文件的目录为什么要两个呢?一个是主机的一个是从机的
之后我们需要再创建一个文件夹配置主机和从机的my.cnf文件,我们这里直接创建就好了,你们也可以到docker容器里面去复制到主机
这里的data和配置文件,1的是主机的,2是从机的
然后我们就可以启动我们的docker容器了
启动主机
docker run -dit -p 6661:3306 -v /home/yuhui/mysql/conf/mysql1.cnf:/etc/mysql/my.cnf -v /home/yuhui/mysql/data1:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=yuhui112233 mysql:5.7
启动从机
docker run -dit -p 6662:3306 -v /home/yuhui/mysql/conf/mysql2.cnf:/etc/mysql/my.cnf -v /home/yuhui/mysql/data2:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=yuhui112233 mysql:5.7
这样说明已经启动成功了,我们可以连接测试一下
建立帐户并授权slave,当然你们可以直接使用root,但是一般不使用root
GRANT FILE ON *.* TO 'yuhui'@'%' IDENTIFIED BY '123456';
GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* to 'yuhui'@'%' identified by '123456';
FLUSH PRIVILEGES;
看到有自己添加进去的用户时说明添加成功了
接下来是从服务器,从服务器相对没那么繁琐
change master to master_host='192.168.237.129',master_port=6661,master_user='yuhui',master_password='123456',master_log_file='master-bin.000001',master_log_pos=865;
注意,上面这段配置都要和主机一致
start slave启动
这两个为YES时说明已经成功了
我们来测试一下
从机上有主机上新建的test库,说明主从复制已经部署成功了