Mysql之文件

1.  参数文件

    以文本的方式存储,用户可以自行修改。

    1.  什么是参数

        数据库参数是一个键值对。

    2.  查看参数

        show variables like 'innodb_buffer%' \G;

        select * from GLOBAL_VARIABLES where variable_name like 'innodb_buffer%'\G;

          这个查询还报错:ERROR 3167 (HY000): The 'INFORMATION_SCHEMA.GLOBAL_VARIABLES' feature is disabled;

          解决方法:set global show_compatibility_56=on;

    3.  参数类型

        动态参数  可以在mysql实例运行中进行更改

          set global key=value  整个实例的生命周期

          set session key=value  当前会话

        静态参数  整个生命周期内都不得更改

2.  日志文件

    1.  错误日志

        error.log       

    2.  二进制日志

        bin_log.000001  二进制日志文件

        bin_log.index  二进制的索引文件

    3.  慢查询日志

        slow.log

    4.  查询日志

        主机名.log  也可以输出到mysql.general_log表

3.  套接字文件

    show variables like 'socket%';

4.  pid文件

    show variables like 'pid_file%';

5.  表结构定义文件

    mysql都有一个以frm为后缀名的文件,这个文件记录了该表的表结构定义,frm也可以用来存放视图的定义

6.  InnoDB存储引擎文件

    1.  表空间文件

        默认表空间文件ibdata1的文件,初始大小为10MB

        用户可以通过参数设置表空间文件路径和属性设置

          innodb_data_home_dir = /server/mysql/var/data  指定表空间文件所在的目录

          innodb_data_file_path = ibdata1:1G:autoextend  指定表空间文件的属性,文件名为ibdata1,初始大小为1G,自增长

          innodb_data_file_path=/disk1/ibdata1:900M;/disk2/ibdata2:50M:autoextend  最后一个数据文件必须是自动扩充的,也只有最后一个允许自动扩充

        上面的是共享表空间,用户也可以根据自己的需要设置独立表空间,设置参数innodb_file_per_table=1,产生的独立的表空间文件,表名.ibd

        这些单独的表空间文件仅存储该表的数据,索引和插入缓冲BITMAP等信息,其余信息还是存放在默认的表空间中

        

 

    2.  重做日志文件

        默认重做日志文件的名称为ib_logfile0和ib_logfile1

        每个InnoDB存储引擎至少有1个重做日志文件组,每个文件组下至少有2个重做日志文件

        InnoDB存储引擎先写ib_logfile0,当达到文件的最后时,会切换到ib_logfile1,当ib_logfile1被写满,再切换到ib_logfile0中。          

        用户可以通过参数调整重做日志文件的属性

          innodb_log_group_home_dir = /server/mysql/log  指定了日志文件组所在路径    

          innodb_log_files_in_group = 2  指定日志文件组中重做日志文件的数量  

          innodb_log_file_size = 512M  每个重做日志文件的大小

          innodb_mirrored_log_groups  指定了日志镜像文件组的数量,默认为1 

          show variables like 'innodb%log%'; 

        重做日志文件大小要求很高,不能太大,不能太小

    3.  重做日志与二进制日志的区别

  重做日志 二进制日志
日志类型 只记录存储引擎本身的事务日志 记录所有与Mysql数据有关的日志记录
内容 关于每个页的更改物理情况 关于一个事务的操作内容
写入时间  事务进行的过程中,不断有重做日志写入到重做日志文件中 仅在事务提交前进行提交

    4.  如何查看重做日志文件

                                      

posted @ 2023-04-14 16:58  奋斗史  阅读(27)  评论(0)    收藏  举报