Mysql主从复制
2020-04-23 09:32
1401 查看
搭建
准备至少两台mysql 服务
此处使用docker 一个镜像 启动了两个 容器
配置mysql配置文件
- 主:
添加 # 服务的唯一编号 server-id = 1 # 开启mysql binlog功能 log-bin = mysql-bin
- 从:
添加 # 服务的唯一编号 server-id = 2 ## 开启二进制日志功能,以备Slave作为其它Slave的Master时使用 log-bin=mysql-slave-bin ## relay_log配置中继日志 relay_log=edu-mysql-relay-bin
- 配置完成后 重启服务
在主服务器执行sql
# 创建一个专门为复制服务的用户。 CREATE USER 'slave'@'%' IDENTIFIED BY '123456'; # 分配权限 GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'slave'@'%'; > 8.0以后必须 分开执行 flush privileges;
查看主服务状态
FLUSH TABLES WITH READ LOCK; show master status; FILE POSITION mysql-bin.000003 908 "" "" ""
设置连接主服务器的信息(从服务器中)
如果使用默认的插件:caching_sha2_password change master to master_host ='172.17.0.2', master_user ='slave', master_password ='123456', master_port =3306, master_log_file ='mysql-bin.000003', master_log_pos = 908, MASTER_SSL=1, master_connect_retry =30; 如果使用MySQL5.7 的插件:mysql_native_password CHANGE MASTER TO MASTER_HOST='172.17.0.2', MASTER_USER='slave', MASTER_PASSWORD='12345678', MASTER_LOG_FILE='mysql-log-bin.000009', MASTER_LOG_POS=1302; 》 master_port 为 主服务 position 》 master_log_file 对应主服务 file 如果使用(8.0+)默认的插件:caching_sha2_password 必须有 MASTER_SSL=1; 我们也可以使用MySQL5.7 的默认身份认证插件:mysql_native_password 指定插件即可: CREATE USER 'my_slave'@'%' IDENTIFIED WITH mysql_native_password BY '12345678'; ALTER USER 'my_slave'@'%' IDENTIFIED WITH mysql_native_password BY '12345678'; 命令说明: master_host :Master的地址,指的是容器的独立ip,可以通过docker inspect --format='{{.NetworkSettings.IPAddress}}' 容器名称|容器id查询容器的ip master_port:Master的端口号,指的是容器的端口号 master_user:用于数据同步的用户 master_password:用于同步的用户的密码 master_log_file:指定 Slave 从哪个日志文件开始复制数据,即上文中提到的 File 字段的值 master_log_pos:从哪个 Position 开始读,即上文中提到的 Position 字段的值 master_connect_retry:如果连接失败,重试的时间间隔,单位是秒,默认是60秒
启动slave线程
mysql> start slave;
检查
mysql> show slave status
以下两项都为yes 即为成功
Slave_IO_Running: Yes Slave_SQL_Running: Yes
FAQ
Q:
Slave_IO_Running: connecting 或 Slave_IO_Running: no
A:
1. 首先查看 错误日志 show slave status 中有错误日志 2. 常见出问题可能 检查防火墙 查看主从服务器 server_id 是否一致 检查position 和 file 是否一致 使用的password插件和设置连接主服务的 配置 不一致
- 点赞 1
- 收藏
- 分享
- 文章举报
相关文章推荐
- mysql主从复制有意思的特点和参数
- nagios监控mysql主从复制
- MySQL主从复制
- mysql之主从复制
- MySQL主从复制(Master-Slave)与读写分离(MySQL-Proxy)实践
- MySQL主从复制(Master-Slave)与读写分离(MySQL-Proxy)实践
- 实现MySQL主从复制需要进行的配置!!!
- 配置MySQL 5.6的主从复制
- 基于SSL实现MySQL的加密主从复制
- 使用Spring实现读写分离(MySQL实现主从复制)
- MySQL主主复制,mysql主从复制,MySQL+keepalived故障转移。
- mysql 主从复制存在问题及解决方法
- MySQL主从复制延迟原因分析
- mysql半主从复制
- 高可用架构-- MySQL主从复制的配置
- MySQL主从复制(Master-Slave)
- MySQL+Amoeba实现数据库主从复制和读写分离
- MySQL进阶——主从复制
- mysql主从复制
- Mysql主从复制技术详细配置过程