文章分类 - DBA
DBA
摘要:备份策略 备份策略大体可分为全量备份与增量备份两种形式。 至少要保证在一个周期内进行全量备份。 备份检查 备份检查项分为两种。 第一项:检查备份是否正常、是否存在不合理的语句也被备份了的情况。 第二项:检查备份空间是否够用,一般来说我们会将备份信息单独存放在另一块磁盘中。 备份种
阅读全文
摘要:基本概念 慢查询日志可以统计一些性能较差的SQL语句执行时间,便于后期SQL优化。 开启配置 在配置文件my.cnf中进行配置: [mysqld] slow_query_log=1 # 打开慢日志 long_query_time=0.1 # 设定慢查询时间 slow_query_log_fi
阅读全文
摘要:基本概念 运行日志默认是打开的,且默认存放路径是在数据目录下,以hostname开头,.err结尾。 日志关注内容最主要的就是[ERROR]级别的日志,如下所示: # 1.使用VIM编辑器打开运行日志文件 vim /usr/local/application/mysql57/logs/mys
阅读全文
摘要:功能概述 MySQL中的日志有很多类型,比如事务日志redo log与undo log,工作日志 log error与log bin等。 在事务日志中介绍的redo log与undo log一般来说并不需要DBA人员手动的对其内容进行干预,但是对于以下的这些工作日志来说,则可能会频繁的被DB
阅读全文
摘要:基础概念 并发问题 当高并发访问时会遇到多个事务的隔离问题,可能会出现以下情况: 脏读:事务A读取了事务B更新的数据,然后B回滚操作,那么A读取到的数据是脏数据 不可重复读:事务A多次读取同一数据,事务B在事务A多次读取的过程中,对数据作了更新并提交,导致事务A多次读取同一数据时,结果不一致 幻
阅读全文
摘要:功能概述 MySQL支持多线程操作,这就会造成数据安全问题。 一个用户在修改记录数据时,如果另一个用户也修改相同的记录数据则可能造成数据不一致的问题。 为了解决这个问题,可以使用锁操作来完成,即一个用户修改某一条记录数据时,其他用户只能排队等待上一个用户修改完成。 这在网络购物的库存
阅读全文
摘要:名词介绍 事务如何保证ACID呢?这个其实就要从InnoDB存读数据的底层说起。 下面有一些名词及概念介绍,先做个初步认识: CSR 描述:MySQL的自动故障恢复机制,InnoDB引擎支持该机制 磁盘数据页 描述:存储记录及索引信息的文件 位置:[表名].ibd文件 data buffer
阅读全文
摘要:功能概述 事务是InnoDB存储引擎的一大亮点,开启事务后即可以对一组SQL语句进行一个原子化的操作,即如果这一组SQL语句中有一条发生错误,那么其他的同组SQL就都不会被执行。 事务的核心特点ACID如下: Atomic原子性: 所有语句作为一个单元必须全部成功执行或或全部取消,不能出
阅读全文
摘要:功能概述 执行计划是DBA常用的分析SQL语句的一种手段。 使用执行计划能够拿到优化器选择完成后,其认为代价最小的一种执行方式。 在语句执行之前,拿到执行计划可以预防因SQL语句编写不妥当带来的性能问题,同时也能够对慢查询语句进行评估和优化。 使用语法 使用执行计划有两种方式,语法格
阅读全文
摘要:功能概述 一张数据表中具有百万级的数据时,如何精确且快速的拿出其中某一条或多条记录成为了人们思考的问题。 InnoDB存储引擎的出现让这个问题得到了很好的解决,InnoDB存储引擎是以索引来进行数据的组织,而索引在MySQL中也被称之为键,因此UNIQUE KEY,PRIMARY KEY约束
阅读全文
摘要:information_schema information_schema是一个自带的虚拟库,其中主要存储一些重要的的元信息。 它是一个虚拟库,不占用磁盘空间,存储的是数据库启动后的一些参数,如用户表信息、列信息、权限信息、字符信息等 在information_schema中以视图虚拟表的形
阅读全文
摘要:功能概述 关系型数据库中一个库就是一个目录,一个表则可能对应多份文件。 存储引擎的作用就是与磁盘进行打交道,如何组织数据存储在磁盘上,如何从磁盘上读取数据就是其首要工作。 存储引擎说白了其实就是相当于Linux的文件系统,在Oracle和SqlServer等数据库中仅支持一种存储引擎,但
阅读全文
摘要:分支结构 基本使用 在MySQL中除了可以使用控制流函数(参见函数相关章节)之外,也可以使用IF/ESLE进行控制。 但是IF/ELSE只能够用于BEGIN…END中,这意味只能在触发器、存储过程、自定义函数中使用。 基本格式如下: -- 创建存储过程 delimiter $ CREAT
阅读全文
摘要:内置函数 数学函数 常用的数学相关函数如下所示: ROUND(x,y) # 返回参数x的四舍五入的有y位小数的值 RAND() # 返回参数x的四舍五入的有y位小数的值 聚合函数 常用的聚合函数如下所示: AVG(col) # 返回指定列的平均值 COUNT(col) # 返回指定列中非NU
阅读全文