MySQL 日志 复制数据库 InnoDB表空间模式 mysql默认数据库

MySQL 日志 复制数据库 InnoDB表空间模式 mysql默认数据库

 

分类

  • 错误日志

    不仅记录error信息,还记录warning信息和修正信息

    遇到问题时DBA应该首先查看的日志

    show variables like ‘log_error’;
    
  • 全查询日志(查询日志)

    记录了所有对数据库的请求,无论它们是否得到了正确的执行

  • 慢查询日志

    记录超过 预先设定的响应时间阈值 --- long_query_time 的语句

  • 二进制日志

    记录了所有变更数据库的操作,以及它们的操作时间等

    (变更操作不包含select、show等)

  • 中继日志

    中继日志是从主服务器的二进制日志文件复制而来,存放在从服务器的二进制日志文件。用于恢复slave库(备份库)

    主从结构的主服务器不可能出现中继日志

  • 事务日志

    记录InnoDB等支持事务的存储引擎执行事务时产生的日志

 

复制数据路的基本步骤

  1. 将主数据库的更改记录到二进制日志binlog中(经过redolog,默认InnoDB)
  2. 备份库将主库的二进制日志文件复制为自己的中继日志
  3. 备份库读取中继日志,将其中的记录“重放”到备份库上

 

InnoDB两种表空间模式

类似于linux的一切皆文件的思想,表空间模式就是指InnoDB引擎存储存储表和索引的方式

  1. 共享表空间:

    这种模式的表结构存储在.frm文件中

    InnoDB的所有数据和索引保存在一个单独的表空间中

    这个表空间由多个文件组成,而且一张表可以跨多个文件

  2. 独立表空间(多表空间):

    这种模式的表空间也保存在.frm文件中,但每个表的数据和索引单独保存在.ibd文件中,如果是分区表,可以在创建分区的时候指定分区数据文件的位置,以此均匀分布IO

两者不是二选一的关系,即使在独立表空间的存储方式下,共享表空间仍然是必须的,InnoDB会把内部数据字典、在线重做日志、Undo信息、插入缓冲索引页、二次写缓存(Double write buffer)等内容写入到共享表空间中

 

mysql默认数据库

  • mysql

    核心数据库,不可被删除

    存放数据库用户、权限设置、mysql自己的控制和管理信息

  • information_schema

    信息数据库

    保存着mysql维护其他数据库需要的相关信息

    (在物理上不存在相关的目录和文件)

  • performance_schema

    性能数据信息库(自己给的名字),用于收集数据库服务器性能数据

  • sys

    结合了information_schema和performance_schema的相关数据,还包含了有关存储过程、视图的相关数据来帮助DBA了解系统元数据

部分使用方式可见这里

 

原文地址:https://www.cnblogs.com/G-Aurora/p/13495058.html