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. 如何查看重做日志文件

浙公网安备 33010602011771号