MySQL主从复制
一、配置Master(主)
[mysqld]
## 同一局域网内注意要唯一
server-id=100
## 开启二进制日志功能,可以随便取(关键)log-bin=mysql-bin




二、配置Slave(从)
2.1这里我用了直接copy法,把外面文件夹已经写好配置的 my.cnf 直接 copy 到 Slave 库中,不用重新下载Vim,没那么多内存
[mysqld]
## 设置server_id,注意要唯一
server-id=101
## 开启二进制日志功能,以备Slave作为其它Slave的Master时使用
log-bin=mysql-slave-bin
## relay_log配置中继日志
relay_log=edu-mysql-relay-bin
2.2在Master进入mysql,执行
show master status;

2.3查看容器运行的各种数据,其中IPAddress就是容器IP
docker inspect 容器ID
Slave的IP:

Master的IP:


##这是一条错误代码
change master to master_host='自己的IP', master_user='slave', master_password='自己的密码', master_port=端口, master_log_file='mysql-bin.000001', master_log_pos= 704, master_connect_retry=30;
2.4查看主从同步状态。
show slave status \G;

Error:报错
error connecting to master 'slave@自己的IP:端口' - retry-time: 30 retries: 16 message: Authentication plugin 'caching_sha2_password' reported
error: Authentication requires secure connection.

查了具体原因:因为博客里博主的master库用的是slave用户名,而我的master库使用的是root,所以无法正确链接到master库
2.5解决办法:先停止,然后重新修改用户名再重启即可
Stop SLAVE IO_THREAD;

change修改用户名root
change master to master_host='自己的IP', master_user='root', master_password='密码', master_port=端口, master_log_file='mysql-bin.000001',
master_log_pos= 704, master_connect_retry=30;

2.6重新查看
show slave status \G;

SlaveIORunning 和 SlaveSQLRunning 都是Yes

本文详细介绍了MySQL主从复制的配置过程,包括主服务器和从服务器的设置步骤,并解决了常见连接错误,最后验证了数据同步的成功。
344

被折叠的 条评论
为什么被折叠?



