MYSQL | 企业整合解决方案之mysql集群搭建-主从配置
时间:2022-05-06
本文章向大家介绍MYSQL | 企业整合解决方案之mysql集群搭建-主从配置,主要内容包括用途及条件、主从原理、配置信息、搭建步骤、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。
mysql主从复制:
一主一从
主主复制
一主多从---扩展系统读取的性能,因为读是在从库读取的;
多主一从---5.7开始支持
联级复制---
用途及条件
- mysql主从复制用途 实时灾备,用于故障切换 读写分离,提供查询服务 备份,避免影响业务(备可用性和容错行) 负载平衡
- 主从部署必要条件: 主库开启binlog日志(设置log-bin参数) 主从server-id不同 从库服务器能连通主库
主从原理
- 库生成两个线程,一个I/O线程,一个SQL线程;
- I/O线程去请求主库 的binlog,并将得到的binlog日志写到relay log(中继日志) 文件中;
- 主库会生成一个 log dump 线程,用来给从库 i/o线程传binlog;
- SQL 线程,会读取relay log文件中的日志,并解析成具体操作,来实现主从的操作一致,最终数据一致;
配置信息
Mysql主服务器:
版本:mysql Ver 14.14 Distrib 5.7.20
IP:192.168.168.226
PORT:3306
Mysql从服务器
版本:mysql Ver 14.14 Distrib 5.7.20
IP:192.168.168.227
PORT:3306
服务器:
CentOS 7
搭建步骤
- 登录主服务器,执行如下命令: mysql -u root -p 提示密码安全策略问题: set global validate_password_policy=0; grant replication slave on *.* TO 'backup'@'192.168.168.227' identified by 'Likang123qwe'; flush privileges
- 编辑主服务器的数据库配置文件信息my.cnf vi /etc/my.cnf 添加如下信息: server-id=226 log_bin=/var/log/mysql/mysql-bin.log read-only=0 binlog-do-db=test binlog-ignore-db=mysql
- 登录从服务器,执行如下命令: 编辑从服务器的数据库配置文件信息:my.cnf vi /etc/my.cnf server-id=227 log_bin=/var/log/mysql/mysql-bin.log
- 重启主服务器 service mysqld restart 提示如下信息:
修改: 进入/var/log/文件夹下,新建文件mysql,进入mysql目录,新建文件mysql-bin.log文件,并赋予读写权限(mysql和mysql-bin.log)
- 登录主服务器,查看master状态 show master statusG;
- 登录从服务器,设置主从关系 change master to master_host='192.168.168.226',master_user='backup',master_password='Likang123qwe',master_log_file='mysql-bin.000001',master_log_pos=154;
- 查看从服务器的主从关系状态 show slave statusG;
- 主服务器下执行 /sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
- 从服务器下执行 /sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
- 如果主从库中不存在test库,则需要重新建库,然后重启,重新构建主从关系
- 从服务器下 Slave_IO_Running: Yes Slave_SQL_Running: Yes 如果都为yes,则主从搭建成功
至此,mysql主从配置成功
- 智能算法——PageRank
- 【Go 语言社区】Golang 可变参数的使用
- 【Go 语言社区】Golang源码解读之map
- 一则报警信息所折射出来的诸多问题(r9笔记第14天)
- Java面试系列17-编程题-读取服务器字符、实现序列化、计数器、1000阶乘、n出列问题等
- tensorflow(一)windows 10 64位安装tensorflow1.4与基本概念解读tf.global_variables_initializer
- 容灾切换中的数据库宕机问题简单分析(一) (r9笔记第12天)
- Java面试系列14
- linux下搭建django记录笔记,未完稿,节后继续
- Java案例-打印图形与π
- 关于两个简单问题的分析(r9笔记第10天)
- 初步解读Golang中的接口相关编写方法
- Go语言获取Windows下文件是否隐藏
- Java案例-求a+aa+aaa+.......+aaaaaaaaa=?
- MySQL 教程
- MySQL 安装
- MySQL 管理与配置
- MySQL PHP 语法
- MySQL 连接
- MySQL 创建数据库
- MySQL 删除数据库
- MySQL 选择数据库
- MySQL 数据类型
- MySQL 创建数据表
- MySQL 删除数据表
- MySQL 插入数据
- MySQL 查询数据
- MySQL where 子句
- MySQL UPDATE 查询
- MySQL DELETE 语句
- MySQL LIKE 子句
- mysql order by
- Mysql Join的使用
- MySQL NULL 值处理
- MySQL 正则表达式
- MySQL 事务
- MySQL ALTER命令
- MySQL 索引
- MySQL 临时表
- MySQL 复制表
- 查看MySQL 元数据
- MySQL 序列 AUTO_INCREMENT
- MySQL 处理重复数据
- MySQL 及 SQL 注入
- MySQL 导出数据
- MySQL 导入数据
- MYSQL 函数大全
- MySQL Group By 实例讲解
- MySQL Max()函数实例讲解
- mysql count函数实例
- MYSQL UNION和UNION ALL实例
- MySQL IN 用法
- MySQL between and 实例讲解
- 使用Android WebSocket实现即时通讯功能
- 虚拟机设置桥接上网(下)
- WebSth 指纹识别插件简要分析
- Android实现3D层叠式卡片图片展示
- Android Studio屏幕方向以及UI界面状态的保存代码详解
- webshell,禁止你执行
- android实现下拉菜单三级联动
- Flutter 假异步的实现示例
- 详解Android4.4 RIL短信接收流程分析
- android 使用kotlin 实现点击更换全局语言(中日英切换)
- EasySec基于XP的渗透平台
- Android集成腾讯X5实现文档浏览功能
- 8个小时8个小时的上机课!!
- Android实现根据评分添加星级条
- Android悬浮窗的实现(易错点)