10、MySQL如何快速导入导出数据(下)

你好,我是俊达。 上一讲我介绍了mysqldump和MySQL Shell的Dump工具。使用mysqldump导出的,实际上是一个SQL文件,将这个文件直接拿到数据库中执行,就可以完成数据导入。MySQL Shell Dump工具将建表语句、表中的...

MySQL运维实战课

11、表太大了,修改表结构太慢怎么解决(上)

你好,我是俊达。 平时我们使用MySQL,或多或少都会遇到DDL的需求。比如有新业务上线,需要给现有的表添加新的字段;或者需要调整索引来优化性能;或者现有的表可能存在大量碎片,需要优化表,收缩空间。 那么对现有的业务表执行各类DDL操作时,需要多少时...

MySQL运维实战课

12、表太大了,修改表结构太慢怎么解决(下)

你好,我是俊达。 在上一讲中,我们介绍了几种执行很快的DDL操作,这些DDL操作只需要修改元数据,因此即使表很大,也不影响执行速度。但是还有很多DDL操作,在执行的过程中需要读取全表的数据,或者是重建整个表,因此表的大小会直接影响执行的速度。这一讲中...

MySQL运维实战课

13、定位MySQL问题的思路:数据库为什么慢了

你好,我是俊达。 作为一名DBA,在使用和运维MySQL的十多年里,我遇到过很多各种各样的问题,比如: 平时执行很正常的一些SQL,不知道什么原因,突然都变慢了。 数据库变得很慢,就是连接到数据库这么简单的操作都需要好几秒,有时甚至会超时。 应用系...

MySQL运维实战课

14、Linux问题诊断入门:操作系统是否存在瓶颈

你好,我是俊达。 MySQL运行在具体的操作系统环境中,因此运行效率受限于底层操作系统和硬件环境。在分析数据库的问题时,我们需要同时关注操作系统整体运行情况。在操作系统层面,我们需要关注CPU、内存、IO、文件系统、网络这几大资源的使用情况,分析这些...

MySQL运维实战课

15、非典型数据库故障解析:数据库故障一定是数据库的锅吗

你好,我是俊达。 在前两讲中,我分别介绍了MySQL和Linux操作系统问题排查的基本思路,提供了一些判断数据库和操作系统是否有问题的方法。这一讲我们就以一个生产环境中发生的故障为例,来看看怎么运用前面讲到的基本方法,来分析和定位真实环境下的问题。 ...

MySQL运维实战课

16、如何在不影响业务的情况下平滑升级MySQL

你好,我是俊达。 这一讲我们来讨论下将MySQL升级到8.0最新版本的具体操作步骤。基于数据库的当前版本,升级的路径会有一些差异。MySQL支持相邻两个大版本的物理升级,比如从5.5升级到5.6,从5.6升级到5.7,从5.7升级到8.0,但是不支持...

MySQL运维实战课

17、SQL优化第一步:理解访问路径

你好,我是俊达。 大家都知道,我们使用SQL来访问数据库,而优化 SQL 对于保证数据库系统的高效、稳定运行,以及满足业务需求和降低成本都具有至关重要的意义。从这一讲开始,我们来系统地学习SQL优化。一条SQL语句,在数据库内部是怎么执行的呢?SQL...

MySQL运维实战课

18、读懂MySQL中的执行计划(上)

你好,我是俊达。 上一讲我介绍了数据库中最主要的几种访问路径,不同的访问路径,在执行性能上可能会存在巨大的差别。但是我们怎么知道某一个具体的SQL语句在执行时,采用了什么样的访问路径呢?这就涉及到SQL的执行计划了。执行计划描述了SQL语句的访问路径...

MySQL运维实战课

18、读懂MySQL中的执行计划(下)

接上一讲 POSSIBLE_KEYSpossible_keys列显示查询单元能使用range、ref等访问路径访问的索引。执行计划最终选择的索引在keys列显示。是否使用索引,以及使用哪个索引,取决于优化器对各种访问方式的成本评估,还跟表连接的顺序和...

MySQL运维实战课
12346