美文网首页
mysql 文件

mysql 文件

作者: 白敏鸢 | 来源:发表于2018-03-08 20:25 被阅读0次
    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 文件

          本文链接:https://www.haomeiwen.com/subject/rfxufftx.html