开源数据库Mysql_DBA运维实战 (总结)
开源数据库Mysql_DBA运维实战 (总结)
SQL语句都包含哪些类型
DDL
DCL
DML
DQL
Yum 安装MySQL的配置文件
- 配置文件:/etc/my.cnf
- 日志目录:/var/log/mysqld.log
- 错误日志:/var/log/mysql/error.log
MySQL的主从切换
- 查看主从复制状态
- 停止主数据库的写入操作
- 记录当前二级制日志文件和位置
- 更新从数据库的配置
- 在新主数据库上启用写入操作
MySQL主从复制的步骤
MySQL主从复制是一种用于数据备份和负载均衡的机制,它允许在一个MySQL服务器(主服务器)上执行写操作,并将这些操作同步到其他一个或多个MySQL服务器(从服务器)。通过这种方式,可以提高数据库性能、可靠性和可扩展性。
MySQL主从复制所需的基本步骤:
1. 配置主服务器
在主服务器上,需要启用二进制日志记录(binlog)并设置唯一的服务器ID。二进制日志记录将捕获所有对数据库的写操作,而服务器ID将在主服务器和从服务器之间提供唯一标识符。2. 配置从服务器
在从服务器上,需要启用中继日志记录(relay log),并将其指定为主服务器的二进制日志位置。然后设置唯一的服务器ID,以便主服务器和从服务器之间进行正确的数据同步。3. 启动复制过程
在主服务器上,必须创建一个从服务器帐户,并授予复制权限。从服务器将使用此帐户连接到主服务器,并检查二进制日志以获取更改。在从服务器上,必须配置连接信息以确保与主服务器的正确通信。
完成这些步骤后,主服务器上的任何更改都将自动同步到从服务器。从服务器将成为可读副本,可以使用它来处理只读查询,而主服务器则处理写操作。
需要注意的是,在MySQL主从复制中,从服务器只能读取数据。如果要在从服务器上执行任何写操作,则必须将其作为主服务器启动,并且必须确保在切换时正确处理数据同步。
MySQL主从复制的原理
前提是作为主服务器角色的数据库服务器必须开启二进制(binlog)日志
原理: 主服务器上面的任何修改都会保存在二进制日志( Bin-log日志) 里面。 从服务器上面启动一个I/O线程, 连接到主服务器上面请求读取二进制(Bin-log)日志,然后把读取到的二进制日志写到本地的Realy-log(中继日志)里面。 从服务器上面同时开启一个SQL线程,读取Realy-log(中继日志),如果发现有更新立即把更新的内容在本机的数据库上面执行一遍。
MySQL主从延迟如何解决
网络优化:延迟问题可能与网络带宽和延迟有关。确保主从服务器之间的网络连接稳定,并优化网络带宽,可以减少复制延迟。
优化复制线程:MySQL主从复制中有一个I/O线程负责读取主服务器的二进制日志,另一个SQL线程负责应用日志到从服务器。优化这些复制线程的性能参数和配置,如增加线程数、调整缓冲区大小等,可以提高复制的效率。
减少主服务器的负载:如果主服务器的负载较高,可能会导致复制延迟。考虑优化主服务器的性能和负载,如调整查询优化、增加硬件资源等,以减轻主服务器的负载,提高复制性能。
优化从服务器的配置:从服务器的性能和配置也会影响复制延迟。确保从服务器具备足够的资源,如CPU、内存、磁盘等,并根据实际情况进行适当的配置优化,以提高复制性能。
监控和调优:定期监控主从复制的延迟情况,并分析延迟发生的原因。根据监控结果进行调优,如调整复制参数、优化查询语句、增加硬件资源等,以缩小复制延迟。
MySQL的优化操作
MySQL是一个常用的关系型数据库管理系统,对其进行优化操作可以提升数据库的性能和效率。
我们可以定期优化和重建索引,提高索引的性能和效率,使用合适的查询缓存机制,根据负载情况,调整MySQL配置参数,合理设计表结构,避免冗余数据,使用主从复制和主从集群来实现读写分离和负载均衡,以提高系统的可用性和性能
以下是一些常见的MySQL优化操作:
1. 索引优化:通过创建适当的索引来加快查询速度。可以使用`CREATE INDEX`语句创建索引,也可以使用`EXPLAIN`命令来分析查询语句的执行计划,找出需要创建索引的字段。
2. 查询优化:避免使用`SELECT *`查询所有字段,而是只选择需要的字段。使用`WHERE`子句限制查询的范围,避免全表扫描。使用`JOIN`语句来优化多表查询。
3. 配置优化:调整MySQL的配置参数来适应实际需求。例如,增加`innodb_buffer_pool_size`参数的值可以提高InnoDB存储引擎的性能。
4. 表结构优化:避免使用过多的冗余字段和表,合理设计表结构。使用合适的数据类型来存储数据,避免浪费空间。
5. 缓存优化:使用缓存来减少对数据库的访问。可以使用MySQL自带的查询缓存功能,也可以使用外部缓存系统如Redis。
6. 查询缓存的使用:MySQL自带的查询缓存功能可以缓存查询结果,提高查询性能。但是在高并发环境下,查询缓存可能会导致性能问题,因此需要根据实际情况来决定是否启用查询缓存。
以上只是一些常见的MySQL优化操作,具体的优化策略需要根据实际情况进行调整。在进行优化操作之前,建议先进行性能测试和分析,找出瓶颈所在,并根据实际情况来选择合适的优化方法。
1. 选择合适的存储引擎: InnoDB
2. 选取磁盘读写速度较快的设备作为Mysql服务器
3. 充分使用索引
4. 增加慢查询日志功能
5. 频繁访问的数据,用缓存数据库解决
6. 单条查询最后增加 LIMIT 1,停止全表扫描
7. 设置最大连接数
8. 设置引擎的读写速度
MySQL如何备份
使用mysqldump命令导出mysql数据库的结构和数据,保存为sql文件
Mysqldump -u username -p password --all-databases > backup.sql
MySQL集群架构
集群目的
负载均衡 解决高并发
高可用HA 服务可用性
远程灾备 数据有效性
一主一从
主节点:负责接受客户端的写请求,并将写入数据同步到节点
从节点:只能读取数据,不能对数据库进行写操作,通过异步复制的方式,接受主节点的binlog,并在本地重放这些操作,实现与主库数据的同步
MySQL读写分离
定义: MySQL读写分离是指将数据库的读操作和写操作分别分配到不同的服务器上执 行,以提高服务器的整体性能。
实现方式: 一般实现MySQL读写分离可以通过在应用程序中手动编写读写分离代码或 使用第三方中间件,在应用程序与数据库之间增加一个代理层来实现。目前比较常用的 中间件有MHA、MaxScale、proxysql等。
原理: 读写分离的原理就是将所有的写操作都集中在一个master server上,而把读操 作分散到多个slave server中,并通过复制来保证数据的一致性。读写分离的优势在于 能够避免过多的查询操作对主服务器的影响,从而提高了应用程序的并发能力。
配置: 在配置MySQL的读写分离时,需要在应用程序中指定读写分离的地址和端口号, 并且要注意读操作是否会异常等问题。维护: 在维护MySQL的读写分离时,需要对主 服务器和从服务器都进行监控,尽可能降低延迟并确保数据的一致性。同时还需要做好 备份和恢复工作,以便在出现故障时能够迅速恢复。
MySQL的具体恢复流程
如果存在备份文件,可以从备份文件进行恢复,停止mysql,将备份文件复制到mysql目录下,启动mysql
相关文章:
开源数据库Mysql_DBA运维实战 (总结)
开源数据库Mysql_DBA运维实战 (总结) SQL语句都包含哪些类型 DDL DCL DML DQL Yum 安装MySQL的配置文件 配置文件:/etc/my.cnf日志目录:/var/log/mysqld.log错误日志:/var/log/mysql/error.log MySQL的主从切换 查看主…...
图神经网络与分子表征:1. 分子图和图神经网络基础
CSDN的朋友们大家好,好久没写系列文章了。 近期读了很多图神经网络(GNN)和分子表征(molecular representation)的论文,正好最近不是很忙,所以我决定把自己的学习过程记录下来,与大家…...
Spring Boot与Redisson的整合。分布式锁
Spring Boot与Redisson的整合可以帮助您在Spring Boot应用程序中使用分布式锁、缓存等功能。下面是一些基本步骤来整合Spring Boot与Redisson: 添加Maven/Gradle依赖: 在您的Spring Boot项目的pom.xml(Maven)或build.gradle&#…...
Lua中逻辑运算符and,or,not 区别与用法
在Lua中,逻辑运算符包括 and、or 和 not。它们用于对布尔值进行逻辑运算。 and运算符: 当同时满足两个表达式时,返回第二个表达式的值;否则,返回第一个表达式的值。如果第一个表 达式的值为false或nil,则…...
使用 spaCy 增强 NLP 管道
介绍 spaCy 是一个用于自然语言处理 (NLP) 的 Python 库。SpaCy 的 NLP 管道是免费且开源的。开发人员使用它来创建信息提取和自然语言理解系统,例如 Cython。使用该工具进行生产,拥有简洁且用户友好的 API。 如果您处理大量文本,您会想了解更多相关信息。例如,它是关于什…...
【HCIP】08.ISIS中间系统
链路状态协议,传递LSA信息ISIS基于数据链路层封装在OSI时,也有自己的网络层地址和自己的路由协议,即ISIS。之前的ISIS支持OSI的网络层地址,是为OSI中的CLNP(无连接网络协议)网络设计的路由协议,…...
Android 13 Framework 添加自定义的系统服务CustomService
目的: 添加自定义的系统服务,在自定义的服务中开发定制的API接口和功能,独立于系统核心服务,方便开发和维护。 开发环境:Android 13 MTK平台 涉及修改的文件如下 device/mediatek/sepolicy/base/private/service_contexts device/mediatek/sepolicy/base/vendor/platfo…...
前端食堂技术周刊第 95 期:Fresh 1.4、Rollup 迁移至 SWC计划、RSC Devtools、使用开源库的边界、AI 帮你讲论文
美味值:🌟🌟🌟🌟🌟 口味:冰葡美式 食堂技术周刊仓库地址:https://github.com/Geekhyt/weekly 大家好,我是童欧巴。欢迎来到前端食堂技术周刊,我们先来看下…...
【TypeScript】枚举类型
在 TypeScript 中,枚举(Enum)是一种用于定义命名常量集合的数据类型。枚举使代码更加可读和可维护,因为它们为一组具有语义的值提供了命名。 以下是 TypeScript 中枚举的基本用法和特点: // 声明一个枚举 enum Direc…...
快速通过华为HCIP认证
你可以按照以下步骤进行准备和学习: 华为认证课程和资料--提取码:1234https://pan.baidu.com/s/1YJhD8QbocHhZ30MvrKm8hg 了解认证要求:查看华为官方网站上的HCIP认证要求和考试大纲,了解考试的内容、考试形式和考试要求。 学习相关知识&am…...
派森 #P124. 公式计算
描述 输入数正整数m,输出0! 1! ...m!的计算结果。 样例 输入 5 输出 154 代码: m int(input()) result 1 factorial 1 for i in range(1, m 1):factorial * iresult factorial print(result) # 法2def factorial(n):"""计…...
opencv进阶14-Harris角点检测-cv2.cornerHarris
类似于人的眼睛和大脑,OpenCV可以检测图像的主要特征并将这 些特征提取到所谓的图像描述符中。然后,可以将这些特征作为数据 库,支持基于图像的搜索。此外,我们可以使用关键点将图像拼接起 来,组成更大的图像。&#x…...
JVM中对象和GC Root之间的四种引用关系
1. 强引用 只有所有 GC Roots 对象都不通过【强引用】引用该对象,该对象才能被垃圾回收 由GC Root直接new出来的对象是强引用,只有当GC Root不再引用该对象的时候,才会被回收 例子: List<String> list new ArrayList<&…...
【李宏毅机器学习】注意力机制
输出 我们会遇到不同的任务,针对输出的不一样,我们对任务进行划分 给多少输出多少 给一堆向量,输出一个label,比如说情感分析 还有一种任务是由机器决定的要输出多少个label,seq2seq的任务就是这种,翻译也…...
Nginx使用keepalived配置VIP
VIP常用于负载均衡的高可用,使用VIP可以给多个主机绑定一个IP,这样,当某个负载应用挂了之后,可以自动切到另一个负载。 我这里是在k8s环境中做的测试,集群中有6个节点,我给140和141两个节点配置VIP。 1. 安…...
C语言编写图形界面
文章目录 环境使用库基础概念句柄 程序的入口创建窗口定义窗口类注册窗口类创建窗口 完整代码运行效果 环境 使用的是VSCode MinGW; 使用库 我们使用windows.h库来实现图形化界面。 头文件如下: #include <windows.h>windows.h是 Windows 操作…...
K8s学习笔记3
Kubernetes功能: Kubernetes是一个轻便的可扩展的开源平台,用于管理容器化应用和服务。通过Kubernetes能够进行应用的自动化部署和扩缩容。在Kubernetes中,会将组成应用的容器组合成一个逻辑单元以更易管理和发现。Kubernetes积累了作为Goog…...
ceph集群的扩容缩容
文章目录 集群扩容添加osd使用ceph-deploy工具手动添加 添加节点新节点前期准备新节点安装ceph,出现版本冲突 ceph-deploy增加节点 集群缩容删除osd删除节点 添加monitor节点删除monitor节点使用ceph-deploy卸载集群 实验所用虚拟机均为Centos 7.6系统,8…...
gremlin安装使用 详细步骤
gremlin是一个图数据库查询工具,注意他只是一个工具类似于dbeaver,navicat,sqlyog,是专门来分析图数据库的一个工具。 下载 下载地址Apache Download Mirrors 省事的可以直接 wget https://www.apache.org/dyn/closer.lua/tin…...
Java语言怎么编写一个程序计算出租车的运输费用:出租车起步15公里以内20块钱,需要支付调头费用
下面是一个Java语言编写的计算出租车运输费用的程序: java import java.util.Scanner; public class TaxiFareCalculator { public static void main(String[] args) { Scanner input new Scanner(System.in); System.out.print("请输入出租车行驶的里程&…...
十、flume的安装
1.解压 2.改名 3.修改权限 4.编辑环境变量并source export FLUME_HOME/usr/local/flume export PATH$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HIVE_HOME/bin:$HBASE_HOME/bin:$SQOOP_HOME/bin:$PIG_HOME/bin:$FLUME_HOME/bin 5.配置 6.查看版本 7.启动Hadoo…...
互联网广告及产品变现认知分析整理
深入学习互联网广告及产品,并且高效利用这一模式进行变现。 字节先是建立了一个非常强大的用户产品——抖音,通过各种渠道让抖音快速成长起来,收获了一大批初始用户。有了用户基础之后,字节开始打造它的广告产品,逐渐…...
item_search_img-按图搜索淘宝商品(拍立淘)
一、接口参数说明: item_search_img-按图搜索淘宝商品(拍立淘),点击更多API调试,请移步注册API账号点击获取测试key和secret 公共参数 请求地址: https://api-gw.onebound.cn/taobao/item_search_img 名称类型必须描…...
OWASP Top 10(2021)漏洞学习(最新)
A01:2021-权限控制失效 从第五位上升到第一位,94%的应用程序都接受了某种形式的针对“失效的访问控制”的测试,该事件的 平均发生率为 3.81%,该漏洞在提供的数据集中出现漏洞的应用数量最多,总发生漏洞应用数量超过31.8万多 次。 …...
mysql 、sql server 游标 cursor
游标 声明的位置 游标必须在声明处理程序之前被声明,并且变量和条件还必须在声明游标或处理程序之前被声明 游标的使用步骤 声明游标打开游标使用游标关闭游标 (sql server 关闭游标和释放游标) sql server 游标 declare my_cursor curs…...
dockers搭建基本服务
1、使用mysql:5.6和 owncloud 镜像,构建一个个人网盘。 拉取mysql-5.6和owncloud的镜像 docker run -d --name mdb --env MYSQL_ROOT_PASSWORD123 cytopia/mysql-5.6 docker run -d -p 90:80 --name webdcloud --link mdb:mdb owncloud 注册的时候,数据…...
微信小程序纯前端从阿里云OSS下载json数据-完整版
起因 因为云开发开始收费(貌似很久了),准备改造在以前的小程序,数据转到oss上,小程序使用原生,不算专业领域, 所以先百度.... 网上的教程真的是千篇一律,大部分开局就是require(ali-oss); 好点的npm install ali-oss --save开局,拼凑操作到最后发现要用云开发,因为云…...
【微服务实战】01-工程结构概览
文章目录 工程结构概览:定义应用分层及依赖关系1.应用分层2.定义Entity3.仓储层3.1 工作单元:事务管理3.2 仓储层 4.领域事件5.APIController最佳实践 工程结构概览:定义应用分层及依赖关系 1.应用分层 领域模型层基础设施层 ⇒ 仓储应用层 ⇒ Api、后台任务Job共…...
论文导读|European Journal of Operational Research近期文章精选:旅行商问题专题
推文作者:王松阁 编者按 在“European Journal of Operational Research近期论文精选”中,我们有主题、有针对性地选择了European Journal of Operational Research中一些有趣的文章,不仅对文章的内容进行了概括与点评,而且也对文…...
playwright迭代元素
DOM结构 <ul><li>apple</li><li>banana</li><li>orange</li> </ul>迭代元素操作 通过 page.get_by_role("listitem") 会匹配到 apple, banana, orange, 如果要对这一组数据中的每个元素进行操作&#…...
公司做网站怎么构思/网络零售的优势有哪些
这篇文章主要为大家详细介绍了Android使用Recyclerview实现图片水平自动循环滚动效果,实现精彩的跑马灯效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 本篇博客主要介绍的是如何使用RecyclerView实现图片水平方向自动循环࿰…...
wordpress清理/黄山网站建设
http://www.cnblogs.com/leesf456/p/6063694.html zk的应用: https://baijiahao.baidu.com/s?id1576906164723309054&wfrspider&forpc...
两个wordpress同步/公司网站的推广方案
“刷量”时代下,你还敢随便相信平台显示的“真实”数据吗?文 | 茶凉出品 | Odaily星球日报(ID:o-daily)“某明星一条微博一年点击量超 1 亿次,评论区大量相似账号转发;某电视剧 33 天播放点击…...
wordpress经典博客主题/我想自己建立一个网站
///练习:实现列出某个目录中所有文件属性(文件大小,文件最后修改时间,文件名)//目录名由参数传入 ./dir /home/linux#include <sys/stat.h>#include <dirent.h>#include <stdio.h> int main(int argc, char *argv[]){ …...
水果网站系统的建设与实现/河南品牌网络推广外包
PCB学习心得: (1)EJC然后输入元件的名字,比如R1,立马跳到元件的位置; (2)选择模块电路然后依次按TS,切换到PCB布板区域后按IL,用鼠标画一个矩形区域即可;...
建设银行网站怎么取消短信服务/建立自己的网站
PHPCMS是一款网站管理软件。该软件采用模块化开发,支持多种分类方式,使用它可方便实现个性化网站的设计、开发与维护。它支持众多的程序组合,可轻松实现网站平台迁移,并可广泛满足各种规模的网站需求,可靠性高…...