docker部署mysql主从

参考https://blog.csdn.net/qq_35771266/article/details/128101019

部署主库:

1.docker run -d -p 3306:3306 -v E:/mysql/3306/conf:/etc/mysql/conf.d -v E:/mysql/3306/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql-master mysql:8.0.29

2. 编辑conf/my.cnf

[mysqld]

server-id=1

#binlog_format=STATEMENT

binlog_format=row

3.重启

4.登录主库

登录后报:Warning: World-writable config file ‘/etc/my.cnf’ is ignored

解决办法:chmod 644 /etc/mysql/conf.d/my.cnf

5.创建slave用户

CREATE USER 'mysql_slave'@'%';

ALTER USER 'mysql_slave'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

GRANT REPLICATION SLAVE ON *.* TO 'mysql_slave'@'%';

FLUSH PRIVILEGES;

6.获取master状态

SHOW MASTER STATUS;

File=binlog.000005

Position=157


部署从库

1.docker run -d -p 3307:3306 -v E:/mysql/3307/conf:/etc/mysql/conf.d -v E:/mysql/3307/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql-slave1 mysql:8.0.29

2.编辑conf/my.cnf

[mysqld]

server-id=2

3.重启

4.登录从库

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

CHANGE MASTER TO MASTER_HOST='192.168.2.84',

MASTER_USER='mysql_slave',MASTER_PASSWORD='123456', MASTER_PORT=3306,

MASTER_LOG_FILE='binlog.000005',MASTER_LOG_POS=157;

以上192.168.2.84为主库ip,可登录验证

5.启动同步并查看状态

START SLAVE;

SHOW SLAVE STATUS;

slave_io_running:No

slave_sql_running:Yes


slave_io_running:No 问题排查

1.SHOW GLOBAL VARIABLES LIKE 'server_uuid';发现uuid一致

解决办法:修改/var/lib/mysql/auto.cnf 

 只修改最后一位,否则报The server_uuid stored in auto.cnf file is not a valid UUID.

2.控制台报Fatal error: The slave I/O thread stops because master and slave have equal MySQL server ids;

show variables like 'server_id';发现server_id=1,server-id=2配置未生效

set global server_id=2;重启后变回1

发现/etc/my.cnf配置,添加server-id=2后生效


slave_io_running变为Yes,可以正常同步


6常用指令

-- 在从机上执行。功能说明:停止I/O 线程和SQL线程的操作。

stop slave;

-- 在从机上执行。功能说明:用于删除SLAVE数据库的relaylog日志文件,并重新启用新的relaylog文件。

reset slave;

-- 在主机上执行。功能说明:删除所有的binglog日志文件,并将日志索引文件清空,重新开始所有新的日志文件。

-- 用于第一次进行搭建主从库时,进行主库binlog初始化工作;

reset master;

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容