随笔分类 -  MySQL

整理和 MySQL 相关的知识
摘要:A. MySQL分支与变种 Percona Server Percona Server 是个与 MySQL 向后兼容的替代品,任何运行在 MySQL 上的都可以运行在 Percona Server 上。 Percona Server 包括 Percona XtraDB 存储引擎,即改进版本的 Inn 阅读全文
posted @ 2021-12-30 03:11 员力 阅读(97) 评论(0) 推荐(0)
摘要:1. 接口工具 接口工具可以帮助运行查询,创建表和用户,以及执行其他日常任务等。如MySQL WorkBench、SQLyog等可视化工具及phpMyAdmin、Adminer等基于浏览器的工具。 2. 命令行工具集 MySQL包含了一些命令行工具集。如Percona Toolkit、Maatkit 阅读全文
posted @ 2021-12-26 02:11 员力 阅读(54) 评论(0) 推荐(0)
摘要:1. 为什么要备份 灾难恢复。灾难恢复是下列场景下需要做的事情:硬件故障、一个不经意的BUG导致数据损坏、或者服务器及其数据由于某些原因不可获取或无法使用等。 人们改变想法。很多人经常会在删除数据后又想要恢复这些数据。 审计。 测试。一个基于实际数据来测试的方法是,定期用最新的生产环境数据更新测试服 阅读全文
posted @ 2021-12-25 23:43 员力 阅读(151) 评论(0) 推荐(0)
摘要:1. 常见问题 有一些经常会碰到的问题清单: 什么东西在消耗系统中每台主机的 CPU、磁盘、网络以及内存资源?这些值是否合理? 应用真的需要所有获取到的数据吗? 应用在处理本应由数据库处理的事情吗?比如统计行数。 应用执行了太多的查询?比如数据库服务器为多个表匹配数据做了很多优化,应用程序完全可以删 阅读全文
posted @ 2021-12-14 00:32 员力 阅读(159) 评论(0) 推荐(0)
摘要:1. 云的优点、缺点和相关误解 云的优点 云可以将基础设施外包出去而无需自己管理。 云一般按照即用即付的方式支付,无需在前期付出大量资本支出。 随着供应商发布新的服务和成本降低,云提供的价值越来越大。 云能够帮助快速准备好服务器和其他资源,用完后直接关闭,无需关注如何回收。 云的缺点 资源是共享并且 阅读全文
posted @ 2021-12-12 16:25 员力 阅读(86) 评论(0) 推荐(0)
摘要:1. 什么是高可用性 通常情况下人们将可用性定义为服务正在运行的时间,但最好还包括应用是否能以足够好的性能处理请求。 2. 导致宕机的原因 导致宕机的原因一般有:运行环境、性能问题、复制、数据丢失与损坏等。 在运行环境中,最普遍的问题是磁盘空间耗尽。 在性能问题中,最普遍的确实是运行很糟糕的 SQL 阅读全文
posted @ 2021-12-11 02:04 员力 阅读(91) 评论(0) 推荐(0)
摘要:1. 什么是可拓展性 可拓展性表明当需要增加资源以执行更多工作时系统能够获得划算的等同提升的能力。缺乏扩展能力的系统在达到收益递减的转折点后,将无法进一步增长。通俗来讲,就是增加资源来提升容量的能力。 多数系统最终会达到一个最大吞吐量临界点,超过这个点之后增加投入反而会带来负回报 —— 继续增加更多 阅读全文
posted @ 2021-12-09 02:36 员力 阅读(135) 评论(0) 推荐(0)
摘要:1. 复制概述 MySQL支持两种复制方式:基于语句的复制和基于行的复制。这两种方式都是通过在主库上记录二进制日志,在备库重放日志的方式来实现异步的数据复制。 复制解决的问题 数据分布:可以通过复制将数据分布在不同地理位置的数据中心。 负载均衡:通过MySQL复制可以将读操作分布到多个服务器上,实现 阅读全文
posted @ 2021-12-06 01:12 员力 阅读(391) 评论(0) 推荐(1)
摘要:1. 什么限制了 MySQL 的性能 MySQL 最常见的两个瓶颈是 CPU 和 IO 资源。 当数据可以放在内存中或者可以从磁盘中以足够快的速度读取时,CPU 可能出现瓶颈。 当工作所需的数据远远超过有效内存容量时,IO 资源则可能出现瓶颈。 2. 如何为 MySQL 选择 CPU 更快的 CPU 阅读全文
posted @ 2021-12-01 01:31 员力 阅读(204) 评论(0) 推荐(0)
摘要:本章关于MySQL配置的介绍似乎更适合DBA 。所以本章笔记只记录了一些定性的东西,具体的配置项及用法不会过多着墨。 1. MySQL配置的工作原理 命令行和配置文件中可以获得MySQL的配置信息。在类UNIX系统中,配置文件的位置一般在/etc/my.conf或者/etc/mysql/my.con 阅读全文
posted @ 2021-11-27 00:54 员力 阅读(74) 评论(0) 推荐(0)
摘要:1. 分区表 分区表的基本介绍 分区表是一个独立的逻辑表,但是底层由多个物理子表组成。分区对于应用而言是完全透明的。 MySQL 在创建表时通过PARTITION BY子句定义每个分区存放的数据。在查询数据时,优化器会根据分区定义过滤那些没有我们需要数据的分区。 分区的一些应用场景: 表非常大无法全 阅读全文
posted @ 2021-11-23 02:09 员力 阅读(276) 评论(0) 推荐(0)
摘要:1. 慢查询基础:优化数据访问 是否向数据库请求了不需要的数据 有些查询会请求超过实际需要的数据,这会给MySQL服务器带来额外的负担,并增加网络开销,也会消耗应用服务器的CPU和内存资源。有一些典型的案例: 查询不需要的记录:一个常见的错误是误以为MySQL只返回了需要的数据,实际上是返回了全部的 阅读全文
posted @ 2021-11-20 16:50 员力 阅读(316) 评论(0) 推荐(0)
摘要:1. 索引基础 索引是在存储引擎层而非服务器层实现的。 B-Tree索引 关于B-Tree索引更详细地内容,可在数据结构与算法中了解。 一般而言,如果索引没有特别指明类型,大多则说的是B-Tree索引。(具体为B+Tree) 虽然"B-Tree"是MySQL的关键字,但一般底层的存储引擎可能选择不同 阅读全文
posted @ 2021-11-07 01:19 员力 阅读(105) 评论(0) 推荐(0)
摘要:1. MySQL 的数据类型 选择数据类型时的基本原则 更小的通常更好。 在确保没有低估需要存储的值的范围时,应当尽量使用可以正确存储数据的最小的数据类型。因为他们占用更少的磁盘、内存和 CPU 缓存,处理时需要的 CPU 周期也更少。 简单即可。 简单的数据类型操作通常需要更少的 CPU 周期。例 阅读全文
posted @ 2021-10-31 17:10 员力 阅读(134) 评论(0) 推荐(0)
摘要:这一章主讲了性能剖析,对于我这种大厂的业务研发螺丝钉而言着实用不太上,简单记几个点。 定义性能最有效的方法是响应时间 测量的最佳开始点是应用程序,而不是数据库 优化和提升是两回事,当继续提升的成本超过收益的时候,应当停止优化 SHOW PROFILE命令 SHOW PROFILE命令是MySQL5. 阅读全文
posted @ 2021-10-30 15:23 员力 阅读(59) 评论(0) 推荐(0)
摘要:一、基准测试的策略 基准测试有两种主要的策略,一是针对整个系统的整体测试,另外是单独测试MySQL。这两种策略也被称为集成式和单组件式基础测试。 测试指标 吞吐量:吞吐量是指单位时间内的事务处理数。这类基准测试主要针对在线事务处理的(OLTP)吞吐量,常用的测试单位每秒事务数(TPS)或每分钟事务数 阅读全文
posted @ 2021-01-12 00:12 员力 阅读(216) 评论(0) 推荐(0)
摘要:##1. MySql逻辑架构 MySQL架构图一般有如下的分层: 第一层的服务主要处理连接处理,授权认证,安全等等。 第二层服务是MySQL的核心服务,包括解析、分析、优化、缓存及所有的内置函数,所有跨存储引擎的功能都在这一层实现:存储过程,触发器,视图等。 第三层是存储引擎(如InnoDB)。存储 阅读全文
posted @ 2020-10-28 02:08 员力 阅读(129) 评论(0) 推荐(0)