一。首先安装docker,在Linux系统依次输入以下命令。
1.sudo yum install -y yum-utils device-mapper-persistent-data lvm2
2.sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
3.sudo yum makecache fast
4.sudo yum -y install docker-ce
5.sudo service docker start
然后更改docker配置加速,依次输入以下命令
1.sudo mkdir -p /etc/docker
2.sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://ung2thfc.mirror.aliyuncs.com"]
}
EOF
3.sudo systemctl daemon-reload
4.sudo systemctl restart docker
二.拉取mysql镜像
docker pull hub.c.163.com/library/mysql:latest
拉取完后查看镜像
docker images
镜像改名 mysql ,phub.c.163.com/library/mysql为REPOSITORY名称
docker tag hub.c.163.com/library/mysql mysql
创建目录/home/mysql/master和/home/mysql/slave1
分别在master目录和slave1目录下面创建data和logs目录
在/home/mysql目录下面创建master.cnf和slave1.cnf文件
master.cnf内容如下
[mysqld]
server-id= 1
log-bin=mysql-bin
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
slave1.cnf内容如下
[mysqld]
server-id= 2
log-bin=mysql-bin
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
启动master
docker run --name master -v /home/mysql/master.cnf:/etc/mysql/conf.d/mysqld.cnf -v /home/mysql/master/logs:/logs -v /home/mysql/master/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=admin -d -i -p 3307:3306 mysql:latest
启动后进入master
docker exec -it master /bin/bash
登录mysql
mysql -uroot -p
创建用户密码。
create user 'dba'@'%' identified by 'admin';
给用户授权(从库ip段)
grant replication slave on *.* to 'dba'@'118.25.235.%' identified by 'admin';
退出mysql;
exit
执行命令,记录file属性和Position属性
show master status;
主库配置结束,退出进入从库
docker exec -it slave1 /bin/bash
登录mysql
mysql -uroot -p
change master to master_host='172.17.0.13',master_user='dba',master_password='admin',master_log_file='mysql-bin.000003',master_log_pos=1349,master_port=3307;
启动slave
start slave;
查看状态:
show slave status \G;
两个Yes代表成功。