docker mysql 8.0搭建主从

先创建mysql 主容器运行:

docker run -d --rm --name mysql_master -p 3301:3306  -v /home/mysql/master/conf/my.cnf:/etc/mysql/my.cnf -v /home/mysql/master/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456  mysql


创建mysql 从容器

docker run -d --rm --name mysql_slave -p 3302:3306  -v /home/mysql/slave/conf/my.cnf:/etc/mysql/my.cnf -v /home/mysql/slave/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456  mysql


创建账号

create user 'slave'@'%' identified with mysql_native_password by 'python';

赋值权限, 


GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'slave'@'%';

主要是权限赋值跟其他教程有点出入,剩下的跟其他教程一样


如果运行的过程中SHOW MASTER STATUS;下的发生改变,并且主修改从不同步的时候可以试一下以下操作

先停止slave服务

再从 从数据库中运行

stop slave;

然后再连接

change master to master_host='172.17.0.2', master_user='slave', master_password='python', master_port=3306, master_log_file='mysql-bin.000004', master_log_pos= 2035, master_connect_retry=30;

不然会出现3021错误

连接matest成功后启动slave服务

start slave;

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容