第一次搭建docker主从,备注下,方法参考网上一些资源写的:
首先,机器上安装docker服务器
然后先在宿主机上创建主从待挂载目录,master、slave,然后分别在 各自目录下创建config、data目录,再在config目录下创建文件mysqld.cnf,最终结构如下:
docker pull 下载mysql 8的镜像,下下来查看镜像:
接下来编辑主从数据库配置mysqld.cnf,注意红框里面的属性:
1、主数据库:
2、从数据库
然后分别执行:
docker run --name mysql_master -p 3301:3306 --privileged=true -v /docker/mysql/master/config/mysqld.cnf:/etc/mysql/my.cnf -v /docker/mysql/master/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0.17
docker run -p 3302:3306 --name mysql_slave --privileged=true -v /docker/mysql/slave/config/mysqld.cnf:/etc/mysql/my.cnf -v /docker/mysql/slave/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0.17
接着,通过连接主服务器,
执行创建用户及授权命令:
create user 'slave'@'%' identified with mysql_native_password by '123456';
grant replication slave, replication client on *.*@'%';
执行show master status;命令
查看主服务器ip
然后连接从服务器,执行命令:
change master to master_host='172.17.0.3', master_user='slave', master_password='123456', master_port=3306, master_log_file='mysql-bin.000004', master_log_pos= 155, master_connect_retry=30;
然后执行start slave;
再查看状态:show slave status \G;
主要看slave_iq_running跟slave_sql_running值,都是yes代表成功;