一、安装docker
yum install docker
二、查看docker版本
docker version
可能报错:Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
解决:
$ systemctl daemon-reload
$ sudo service docker restart
$ sudo docker run hello-world
三、设置自启
systemctl start docker.service
systemctl enable docker.service
四、docker获取mysql镜像
docker pull mysql:5.7
查看镜像是否下载成功:docker images
五、运行容器
主:docker run --name mysql-master -p 3339:3306 -e MYSQL_ROOT_PASSWORD=*密码 -d mysql:5.7
从:docker run --name mysql-slave -p 3340:3306 -e MYSQL_ROOT_PASSWORD=*密码 -d mysql:5.7
六、进入容器进行配置:
6-1:docker exec -it mysql-master /bin/bash #进入主库
mysql -u root -p //连接数据库
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '*密码'; //修改 root 可以通过任何客户端连接
vim /etc/mysql/mysql.conf.d/mysqld.cnf
#在 [mysqld] 段添加以下配置:log-bin=mysql-bin //[必须]启用二进制日志 server-id=1 //[必须]服务器标识ID,每台服务器唯一
6-2:docker exec -it mysql-slave /bin/bash #进入从库
mysql -u root -p //连接数据库
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '*密码'; //修改 root 可以通过任何客户端连接
vim /etc/mysql/mysql.conf.d/mysqld.cnf
#在 [mysqld] 段添加以下配置:log-bin=mysql-bin //[必须]启用二进制日志 server-id=2 //[必须]服务器标识ID,每台服务器唯一
6-3:重启mysql的docker 【重要】
docker restart mysql-master //主库重启
docker restart mysql-slave //从库重启
七、配置mysql主从
1.首先连接 master 服务器,查看数据库状态:show master status;
2.记录 File 的值和 Position 的值,等会配置 slave 服务器的时候要用。
3.接下来连接 slave 服务器,配置主从复制:
change master to
master_host='114.115.143.106',
master_user='root',
master_log_file='mysql-bin.000001',
master_log_pos=154,
master_port=3339,
master_password='*密码';
八、查看是否从库配置生效:show slave status\G
************************************* 错误板块 ***************************************
1.FirewallD is not running
答:开启防火墙:systemctl start firewalld
2.重启mysql 的docker 报错
答:systemctl restart docker 然后进行 重启
3.进入容器无法使用vi or vim
答: apt-get update
apt-get install -y vim
4.停止复制主库:stop slave;
5.然后从库不生效:先停止复制
->
stop slave;
SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1; START SLAVE;
start slave;
show slave status\G