MySQL主从复制
2022/1/3 2:07:58
本文主要是介绍MySQL主从复制,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1.主从复制架构和原理
1.1MySQL的主从复制
- 读写分离
- 复制:每个节点都有相同的数据集,向外扩展,基于二进制日志的单向复制
1.2复制的作用
- 负载均衡读操作
- 备份
- 高可用和故障切换
- 数据分布
- MySQL升级
1.3复制架构
一主一从复制架构一主多从复制架构
1.4主从复制原理
主从复制相关线程- 主节点:
- 从节点:
1.5主从复制特点
- 异步复制: 客户端性能良好
- 主从数据不一致比较常见
2.实现主从复制配置
2.1主节点配置:
(1) 启用二进制日志[mysqld] server-id=# #建议设置为ip地址的最后一位 log_bin(2) 为当前节点设置一个全局惟一的 ID 号
[mysqld] server-id=# #建议设置为ip地址的最后一位 log-basename=master #可选项,设置datadir中日志名称,确保不依赖主机名说明:
server-id 的取值范围 1 to 4294967295 (>= MariaDB 10.2.2) ,默认值为 1 0 to 4294967295 (<= MariaDB 10.2.1) ,默认值为 0 ,如果从节点为 0 ,所有 master都将拒绝此 slave 的连接
(3) 查看从二进制日志的文件和位置开始进行复制
SHOW MASTER STATUS;(4) 创建有复制权限的用户账号
GRANT REPLICATION SLAVE ON *.* TO 'repluser'@'HOST' IDENTIFIED BY 'replpass'; #MySQL8.0 分成两步实现 mysql> create user repluser@'10.0.0.%' identified by '123456'; mysql> grant replication slave on *.* to repluser@'10.0.0.%';
2.2从节点配置:
(1) 启动中继日志[mysqld] server_id=# #为当前节点设置一个全局惟的ID号 log-bin read_only=ON #设置数据库只读,针对supper user无效 relay_log=relay-log #relay log的文件路径,默认值hostname-relay-bin relay_log_index=relay-log.index #默认值hostname-relay-bin.index(2) 使用有复制权限的用户账号连接至主服务器,并启动复制线程
CHANGE MASTER TO MASTER_HOST='10.0.0.8', MASTER_USER='repluser', MASTER_PASSWORD='123456', MASTER_PORT=3306, MASTER_LOG_FILE='mariadb-bin.xxxxxx', MASTER_LOG_POS=#;
这篇关于MySQL主从复制的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-03-15MySQL多数据源笔记5-ShardingJDBC实战
- 2024-03-11natural join mysql
- 2024-03-11关于VS2017,VS2015 中利用 EF使用Mysql 不显示数据源问题解决方案
- 2024-02-26mysql 阿里云xb后缀备份文件恢复-icode9专业技术文章分享
- 2024-02-22docker mysql 5.7
- 2024-02-18从 20 多套 MySQL 到 1 套 TiDB丨骏伯网络综合运营管理平台应用实践
- 2024-02-07mysql 外键索引入门介绍,为什么工作中很少有人使用?
- 2024-01-19你真的了解MySQL日期函数吗?
- 2024-01-12MySQL 主从延迟的常见原因及解决方法
- 2024-01-11mysql 修改密码