mysql 文件

mysql文件分为六种:
 参数文件+日志文件+套接字文件+pid文件+表结构定义文件+innodb存储引擎文件。

参数文件:mysql --help|grep my.cnf  显示mysql的参数文件的启动顺序。
 参数分为2种:静态参数+动态参数 或者 session+global
         动态参数:在session中可以改变,静态参数:在session中不可以进行改变的文件
         session:@@session对于当前对话生效,global:@@global对整个实例生命周期生效


日志文件:错误日志+二进制日志+慢查询日志+查询日志
   错误日志:show variables like 'log_error';错误日志位置
   慢查询日志:slow-query-log-file:日志位置,long_query_time:慢查询时间
slow_query_log ;是否打开   mysqldump:查看slowlog日志的。
log_throttle_queries_not_using_indexes:每分钟记录到slowlog未有使用索引的sql语句次数。
                   慢查询的时间是大于long_query_time才记
slowlog以表存储:
show variables like 'log_output';
set gloal log_output=table
select * from mysql.slow_log
alter table mysql.slow_log=myisam
查询日志:
默认文件:主机名.log

二进制文件:显示database变化的记录,不包括select,show,
作用:恢复,复制+审计
mysqlbinlog:查看二进制文件的命令。
bin_log.index:二进制索引文件,bin_log_XXXX:二进制日志文件,默认在datadir目录下。
show variables like 'log_bin':是否开启二进制
max_binlog_size:二进制文件的最大值,超过这个在原来文件的基础上+1生成一个新文件
binlog_cache_size:二进制缓存大小
ssync_binlog:每写缓冲多少次就写到磁盘
binlog_format:二进制日志的格式,有statement,row,mixed
statement:记录的是sql语句
row:表中行的改变情况。(这种磁盘占用较多)
mixed:使用statement记录情况但是在某些情况下也会使用row。

套接字文件:socket
pid 文件:pid_file
表结构定义文件:frm
innodb引擎文件:
默认表空间位置:ibdata1,   innodb_data_file_path:独立表空间的位置:大小:自增长
独立表空间位置:开启:innodb_file_per_table
如过开启了独立表空间:独立表空间放数据,索引,插入缓存,其余信息放默认表空间。

重做日志文件:ib_logfile0与ib_logfile1
每一个innodb存储引擎直晒一个重做日志文件组,每一个至少有2个重做日志文件
innodb_log_file_size:重做日志文件的大小
innodb_log_files_in_group:每一个重做日志组里的重做日志个数
innodb_mirrored_log_groups:日志镜像组的数量
innodb_log_group_home_dir:日志文件所在组的路径
show variables like 'inodb%log%':查看日志组的配置
重做日志不能太大,回复慢,重做日志不能太小,同步频繁。
innodb_flush_log_at_trx_commit:提交事务的时候,重做日志的状态
 0:提交事务,不将事务写入日志文件
 1:提交事务,同步到磁盘
 2:提交事务,同步到缓存。
建议保持acid持久性,必须将innodb_flush_log_at_trx_commit设置为1
二进制与重做日志的区别:
重做日志记录的是每个页的改变,二进制记录的是事务
重做日志记录的是该引擎有关的,二进制是记录的mysql整个数据库





       


你可能感兴趣的:(mysql 文件)