【有书共读】《MySQL技术内幕》读书笔记03--文件

文件

参数文件

参数文件读取

  • MySQL按照指定的顺序在指定的位置读取参数文件
  • mysql --help | grep my.cnf查找参数文件

参数类型

  • 动态参数:可以在MySQL实例运行中更改
  • 静态参数:在整个实例生命周期内不得进行更改
  • @@global基于整个生命周期内的参数设定,@@session基于当前会话的参数设定

日志文件

错误日志

  • 错误日志记录了MySQL的启动、运行、关闭过程
  • 通过查询参数log_error可以查看到错误日志的路径和文件名

慢查询日志 <font color="red">有、问题</font>

  • 定位可能出现问题的sql语句,对sql语句进行优化
  • long_query_time运行时间超过该值的sql语句全部记录到满查询日志中
  • log_queries_not_using_index运行的SQL语句没有索引,也会记录到慢查询日志
  • 慢查询表在mysql架构下,名为slow_log,需要将log_output设置为TABLE

二进制日志

  • 记录了对数据库执行更改的所有操作
  • show master status:该语句用于显示主服务器中的二进制日志信息。如果是主从结构,它只会显示主从结构中主服务器的二进制日志信息
  • InnoDB存储引擎的默认事务隔离级别是REPEATABLE READ

套接字文件

  • 在UNIX系统下本地连接MySQL可以采用UNIX域套接字方式,这种方式需要一个套接字文件
  • show variables like 'socket' 查看套接字文件

pid文件

  • 概念:当MySQL实例启动时,会将自己的进程ID写入到一个文件中,由参数pid_file控制,文件名:主机名.pid

表结构定义文件

  • MySQL 的每张表都有一个frm文件对应记录该表的表结构定义

InnoDB存储引擎文件

表空间文件

  • InnoDB将存储的数据按表空间进行存放,通过参数innodb_data_file_path控制,所有基于InnoDB存储的表的数据都会记录到共享表空间中
  • 设置参数'innodb_file_per_table',会基于InnoDB存储引擎的表产生一个独立表空间(.ibd)。单独的表空间仅存储该表的数据、索引和插入缓冲BITMAP,其余信息还是存放在默认表空间中

重做日志文件

  • innodb_log_file_size指定每个重做日志文件
  • innodb_log_files_in_group指定日志文件组中重做日志文件的数量
  • innodb_mirrored_log_groups指定日志镜像文件组的数量
  • innodb_log_group_home_dir指定日志文件组所在路径

  • 和二进制文件的不同

    • 1.二进制日志会记录所有与MySQL数据库有关的日志记录,InnoDB存储引擎的重做日志只会记录与该引擎本身的事务
    • 2.二进制日志文件记录的是一个事物的具体操作内容,而重做日志记录的是每个页更改的物理情况
    • 3.二进制日志文件在事务提交前提交,只写磁盘一次。而在事务进行中,不断有重做日志条目写入日志文件
#读书笔记##MySQL##笔记#
全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务