作者: cuckooyang

89 篇文章

MySQL运维篇1——日志
错误日志 错误日志是MySQL中最重要的日志之一,它记录了当mysqld启动和停止时,以及服务器在运行过程中发生任何严重错误时的相关信息。当数据库出现任何故障导致无法正常使用时,建议首先查看此日志。 该日志是默认开启的,默认存放目录/var/log/,默认的日志文件名为mysqld.log(此处我已经改名)。查看日志位置: mysql> sh…
MySQL进阶9——MySQL管理
系统数据库 MySQL数据库安装完成后,自带了一下四个数据库,具体作用如下: mysql 数据库 含义 mysql 存储MySQL服务器正常运行所需要的各种信息(时区、主从、用户、权限等) db:记录性能指标系统库信息 slave*:记录主从复制到相关信息 slow_log:存储慢日志 time*:存储时区操作的相关信息 user:存储MySQL的…
MySQL进阶8——MySQL-InnoDB引擎
InnoDB 逻辑存储结构 表空间(ibd文件):一个MySQL实例可以对应多个表空间,用于存储记录、索引等数据。 Segment段:分为数据段(Leaf node segment)、索引段(Non-leaf node segment)、回滚段(Rollback segment),InnoDB是索引组织表,数据段就是B+树的叶子节点,索引段即为B+…
MySQL进阶7——MySQL锁
概述 锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除传统的计算资源(CPU、RAM、I/O)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。从这个角度来说,锁对数据库而言显得尤其重要,也更加复杂。 MySQL中的锁,…
MySQL进阶6——MySQL存储对象之触发器
介绍 触发器是与表有关的数据库对象,指在 insert/update/delete 之前或之后,触发并执行触发器中定义的SQL语句集合。触发器的这种特性可以协助应用在数据库端确保数据的完整性,日志记录,数据校验等操作。 使用别名OLD和NEW来引用触发器中发生变化的记录内容,这与其他的数据库是相似的。现在触发器还只支持行级触发,不支持语句级触发(行…
MySQL进阶5——MySQL存储对象之存储过程
存储过程介绍 存储过程是事先经过编译并存储在数据库中的一段SQL语句的集合,调用存储过程可以简化应用开发人员的很多工作,减少数据在数据库和应用服务器之间的传输,对于提高数据处理的效率是有好处的。 存储过程思想上很简单,就是数据库SQL语言层面的代码封装与重用。 特点: 通过封装SQL语句,实现复用; 可以接收参数,也可以返回数据; 减少网络交互,提…
MySQL进阶4——MySQL存储对象之视图
视图介绍及基本语法 介绍 视图(View)是一种虚拟存在的表。视图中的数据并不在数据库中实际存在,行和列数据来自定义视图的查询中使用的表,并且是在使用视图时动态生成的。通俗的讲,视图只保存了查询的SQL逻辑,不保存查询结果。所以我们在创建视图的时候,主要的工作就落在创建这条SQL查询语句上。 语法 1、创建视图 CREATE [OR REPLACE…
MySQL进阶3——MySQL SQL优化
插入数据 insert 优化 采用批量插入:尽量避免少量多次插入,每次插入都需要与数据库建立连接,消耗数据库网络资源。也要避免一次插入太多数据,建议一次插入最多不超过1000条,如果需要插入上万条记录,可以将其分割为多条insert语句。 insert into tb_test values(1,)(2,),(3,),...; 手动事务提交 MyS…
MySQL进阶2——MySQL索引
前言 索引是整个进阶篇中最为核心也最为重要的一个部分,后面的SQL优化很大程度上也是围绕着索引展开。 索引概述 索引(index)是帮助MySQL高效获取数据的数据结构(有序)。在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查找算法,这种数据结构就是索引。 在没有…
MySQL进阶1——MySQL存储引擎
MySQL体系结构 连接层:最上层是一些客户端连接服务,主要完成一些类似于连接处理、授权认证、及相关的安全方案。服务器也会为安全接入的每个客户验证它所具有的操作权限; 服务层:第二层架构主要完成大多数的核心服务功能,如SQL接口、并完成缓存的查询、SQL的分析和优化、部分内置函数的执行。所有的跨存储引擎功能也在这一层实现, 如过程、函数等; 引擎层…