Category Archives: Mysql

MySQL数据库(十五)_备份与恢复

备份和恢复

  1. 为什么要备份
    灾难恢复:硬件故障、软件故障、自然灾害、黑客攻击、误操作测试等数据丢失场景
  2. 备份注意要点
    能容忍最多丢失多少数据
    恢复数据需要在多长时间内完成
    需要恢复哪些数据

一定要做还原测试,用于测试备份的可用性, 还原演练

  1. 备份时需要考虑的因素
    温备的持锁多久
    备份产生的负载
    备份[……]

    继续阅读

MySQL数据库(十四)_日志

日志

  1. 事务日志 transaction log
  2. 错误日志 error log
  3. 通用日志 general log
  4. 慢查询日志 slow query log
  5. 二进制日志 binary log
  6. 中继日志 reley log

事务日志:

事务日志的写入类型为“追加”,因此其操作为“顺序IO”;通常[……]

继续阅读

MySQL数据库(十三)_事务与锁

锁是计算机协调多个进程或线程并发访问某一资源的机制。锁保证数据并发访问的一致性、有效性;锁冲突也是影响数据库并发访问性能的一个重要因素。锁是Mysql在服务器层和存储引擎层的的并发控制。
加锁是消耗资源的,锁的各种操作,包括获得锁、检测锁是否是否已解除、释放锁等

  1. 锁粒度:

MySQL数据库(十二)_索引

索引

索引:是特殊数据结构,定义在查找时作为查找条件的字段,在MySQL又称为键key,索引通过存储引擎实现

  • 优点:
    索引可以降低服务需要扫描的数据量,减少了IO次数
    索引可以帮助服务器避免排序和使用临时表
    索引可以帮助将随机I/O转为顺序I/O
  • 缺点:
    占用额外空间,影响插入速度

[……]

继续阅读

MySQL数据库(十一)_查询缓存

查询的执行路径

查询缓存

查询缓存原理( Query Cache )

缓存SELECT操作或预处理查询的结果集和SQL语句,当有新的SELECT语句或预处理查询语句请求,先去查询缓存,判断是否存在可用的记录集,判断标准:与缓存的SQL语句,是否完全一样,区分大小写

优[……]

继续阅读

MySQL数据库(九)_存储引擎

MySQL架构

存储引擎

官方文档:存储引擎比较

存储引擎

MyISAM存储引擎

  1. MyISAM引擎特点
    • 不支持事务
    • 表级锁定
    • 读写相互阻塞,写入不能读,读时不能写
    • 只缓存索引
    • 不支持外键约束
    • 不支持聚簇索引
    • 读取数据较快,占用资源较少
    • 不支持MVCC(多版本并发控制机制)高并发[……]

      继续阅读

MySQL数据库(八)_用户管理

MySQL用户和权限管理

  1. 元数据数据库:mysql
  2. 系统授权表:
    db, host, user
    columns_priv, tables_priv, procs_priv, proxies_priv
  3. 用户账号:
    ‘USERNAME’@’HOST’
    @’HOST’:
  4. 主机名
    IP地址或Network
    通配符: %[……]

    继续阅读