共计 1195 个字符,预计需要花费 3 分钟才能阅读完成。
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
2.7 阐明主从复制曾经开启。此时能够测试数据同步是否胜利。
正文完