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批改用户名rootchange 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

2.7阐明主从复制曾经开启。此时能够测试数据同步是否胜利。