首页 > 代码库 > Mysql学习(一)文件

Mysql学习(一)文件

1.参数文件

2.日志文件

     错误日志文件   xxx.err文件(xxx一般代表主机名)

    慢查询日志文件  1).一般是设置一个阈值,将执行时间超过该值的sql语句记录到慢查询日志里面

                               需要设置long_query_time参数(5.1版本后单位微秒),开关为log_slow_queries

                          2) 如果sql语句不走索引,也可以记录到慢查询日志

                                  开关为log_queries_not_using_indexes

                                   分析指令:mysqldumpslow

                                  5.1版本以后可以放到mysql.show_log表中(需要开关log_output)

     查询日志       xxx.log文件---记录所有对db的请求信息,可以放到general_log表

     二进制日志      记录所有对数据库执行更改的操作,主要用于 recovery + replication(复制,其实就是实时同步)

                          开关为log-bin[=name]

                使用事物的表存储引擎,未提交的二进制日志先记到缓存,提交时直接写入二进制文件,默认大小(binlog_cache_size)

                 该缓存每个session有一个,binlog_cache_use记录使用缓冲写日志的次数,sync_binlog设置写多少次才同步磁盘(改成1就是同步写磁盘了,0表示不用os的缓冲)

      master-->slave-->slave需要配置log-slave-update以便从slave从master那里取二进制日志

                 binlog_format参数(值 STATEMENT|ROW|MIXED)

3.socket文件   与unix系统的域套接字有关 /tmp/mysql.sock

4. pid文件   xxx.pid   isntance启动会把进程号写入

5.表结构定义文件   frm

6.innodb存储引擎文件----不同存储引擎对应的不一样(貌似抄oracle很多)

        1)tablespace file  默认ibdata1(datadir,innodb_data_file_path都可以发现其路径;innodb_file_per_table为每张表单独产生表空间,用于存放数据、索引、插入缓冲etc)

        2) redo log file   默认ib_logfile0 + ib_logfile1 group的概念(和oracle一毛一样)

                 redo log file和二进制日志区别在于,redo log file记录的是每个page更改的情况(这里只记录innodb,别的引擎不管),先写入redo log buffer

                                   二进制在事物提交前记录