1、docker拉取镜像
docker pull mysql:8.0
2、查看
docker images
3、创建容器
主:
docker run -p 3309:3306 --name master -e MYSQL_ROOT_PASSWORD=123456 --restart=always -d mysql:8.0
从:
docker run -p 3310:3306 --name salve -e MYSQL_ROOT_PASSWORD=123456 --restart=always -d mysql:8.0
4、查看
docker ps -a
5、进入容器
docker exec -it 容器ID /bin/bash (ID看上图)
6、vim
如果没有vim命令,执行
apt-get update
apt-get install vim
7、在master里,找到/etc下my.cnf文件
编辑这个文件
vim /etc/mysql/my.cnf
添加
## 唯一值
server-id=100
## 开启二进制日志功能
log-bin=mysql-bin
8、在slave里,修改my.cnf文件
同上
server-id=101
log-bin=mysql-slave-bin
relay_log=edu-mysql-relay-bin
9、master主机配置
mysql -u root -p
create user 'slave'@'%' identified WITH 'mysql_native_password' by '123456';
GRANT REPLICATION SLAVE ON *.* TO slave;
//刷新权限,或者重启容器
flush privileges;
//查看状态
show master status;
10、slave配置
change master to master_host='ip地址',master_user='slave',master_password='123456',master_port=主机端口(例为3310), master_log_file='上图的file',master_log_pos=上图的position;
ip地址查看:
docker inspect 容器id;
11、slave启动
//启动
start slave;
//查看状态
show slave status;
//如果修改后重启,先停止再重复上述
stop slave;
12、结果
都是Yes则成功
如果不是yes,可以
查看错误原因