首页 > 代码库 > 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
二进制在事物提交前记录