mysql日志设置
2015-07-09 10:22
656 查看
mysql文件种类
参数文件my.cnf日志文件
socket文件
pid文件
mysql表结构文件
存储引擎文件
参数文件my.cnf
Mysql实例启动时,会先读取配置参数文件my.cnf寻找my.cnf位置
1. 默认情况:
mysql --help|grep my.cnf
2. 后台进程去找:
ps –eaf|grep mysql
3. 全局搜索:
find / -name my.cnf
可以用vi直接维护修改里面的参数值
1. dynamic 动态修改参数:可以通过set进行实时修改
set global 参数=值 全局;
set 参数=值 当前会话 ,重启都无效;
2. static,只能在my.cnf里面修改,需要restart生效
日志文件
1. error日志
查看show variables like 'log_error';
My.cnf里面设置 :
log-error=/usr/local/mysql/mysqld.log
查看alert信息、error信息、warning信息
2. binary日志
binary日志主要记录的是对数据库已经执行完了的操作,但不包括select show操作,因为这类操作对数据库没有任何变动。如果想看select、show就可以去general log查看。binary生效:
my.cnf配置:
log-bin =/home/data/mysql/binlog/mysql-bin.log
Mysql-bin.index记录的是以max_binlog_size为单位的binlog日志文件索引
binlog日志参数:
max_binlog_size单个文件最大值(默认1g,但是在电商行业订单系统通常是64m,方面快速复制,这也是比较通用的大小)、
binlog_cache_size(在使用innodb引擎的时候,所有未提交事务操作都会先放到binlog缓存中,等待事务提交的时候就会刷到binlog二进制日志文件中。Session级的内存区,每个session都会分配size大小的内存,默认32k可以提高到1m左右)、
sync_binlog
binlog-do-db(需要写入日志的库)、
binlog-ingore-db(忽略写入日志的库)、
log-slave-update(当需要在从库上搭建下一阶从库的时候需要,因为从库一般是不能写入的日志。开启后可以搭建环形)
binlog-format日志格式
Statement(不需要记录变化数据,只需要记录影响变化的sql语句insert update delete create等,减少binlog日志量,节约io资源,日志传输的时候提高网络传输速率)
row(行模式:不记录每一句sql ,记录的是数据的变化,通过insert update方式记录数据点,日志量会非常大)、
mixed(混合模式:一般语句操作就记录语句,函数操作等记录行的变化。综合语句和行模式优点)
my.cnf里面设置 binlog_format = MIXED; expire_logs_days = 7 (清理过期的日志,天为单位) ;
中小型电商用mixed模式,大型电商用row模式,通过万兆网卡保证主从数据一致性,非电商非互联网用statement足够了。
主要作用:恢复数据+复制(主从同步)
3. slow 日志
查看是否开启:show variables like 'slow_query_log%';
show variables like 'long_query_time’;
long_query_time=0(记录所有sql可以做审计)
show variables like 'log_queries_not_using_indexes';
使用mysqldumpslow来进行分析
Slow_log表,也可以将慢查询日志放入一张表里面
show variables like ‘log_output’;查看如果是file就存放在slow log里面,如果是table就在slow_log表里面。
4. general日志
日志开启方法:show variables like '%general_log%';
set [global] general_log=ON
通过tail –f直接查看日志内容,general适用于数据库审计 + 问题排查跟踪 (损失3%-5%性能)
5. redo文件
Innodb采用日志先行的规则,默认情况下,会有2个重做日志文件ib_logfile0 和 ib_logfile1(一组)
记录了innodb存储引擎的事务日志,当实例失败,比如master掉电等等,innodb就会通过redo文件恢复数据库到掉电前的那一刻,以此保证数据完整性。重做日志至少是一组文件,可以通过将redo文件放到不同磁盘上提升数据库一点性能。
show variables like ‘innodb%log%’;
查看redo参数其中:innodb_log_file_size为redo文件大小,innodb_log_buffer_size日志缓冲大小,如果写入速率比较高的话可以设置稍高一些,但是不要大于innodb_log_file_size
重要属于LSN : log sequence number,是递增产生的,是可以唯一标识一条redo日志,对数据库故障非常重要,可以唯一定位数据库运行状态。可以判断数据一致性。在数据库恢复的时候可以看到LSN。
源码:在”storage/innobase/include/log0log.h”
6. undo文件
存在于共享表空间ibdata里面,如果是独立表空间,undo文件会存放到独立表空间中。作用:Mvcc(保证数据一致性) +事务回滚的时候通过undo文件执行数据回滚。
undo存放
Undo page header 页头信息
Undo segment header 段头信息
Undo record 记录信息
Undo_log overview数据展示信息
套接字文件socket
外部的client连接mysql数据库需要使用socket文件ps -eaf|grep mysql |grep socket
查看socket文件位置
show variables like 'socket';
My.cnf (
socket = /usr/local/mysql/mysql.sock)
Pid文件
数据库后台进程文件,mysql启动后会将后台进程id写入文件。show variables like 'pid_file';
ps -eaf|grep mysql |grep pid
My.cnf (
pid-file= /usr/local/mysql/mysqld.pid)
表结构文件
通过datadir查看,如果是独立表空间就会在data文件里面生成对应数据库名字的文件夹,里面存放表文件show variables like ‘% datadir %’;或者my.cnf中查找
*.frm 记录表结构定义
*.ibd 记录索引和数据
[root@localhost data]# ll test/ total 540 -rw-rw----. 1 mysql mysql 8586 Jul 2 09:25 t1.frm #t1表结构 -rw-rw----. 1 mysql mysql 98304 Jul 8 10:50 t1.ibd #t1表索引数据 -rw-rw----. 1 mysql mysql 8586 Jul 8 10:42 t2.frm -rw-rw----. 1 mysql mysql 98304 Jul 8 10:43 t2.ibd
innodb存储引擎文件
My.cnf里面:innodb_data_file_path
innodb_data_file_path = IBdata1:128M;IBdata2:128M:autoextend这是一组文件,如果是多组,可以放到不同的磁盘空间上面,分散io压力,提高性能
[root@localhost data]# ll total 5255244 -rw-rw----. 1 mysql mysql 56 Jun 18 11:19 auto.cnf -rw-rw----. 1 mysql mysql 12582912 Jun 18 11:59 ibdata1 -rw-rw----. 1 mysql mysql 1073741824 Jul 9 05:03 IBdata1 -rw-rw----. 1 mysql mysql 1073741824 Jul 8 14:44 IBdata2 -rw-rw----. 1 mysql mysql 1073741824 Jul 9 05:03 ib_logfile0 -rw-rw----. 1 mysql mysql 1073741824 Jun 18 12:14 ib_logfile1 -rw-rw----. 1 mysql mysql 1073741824 Jun 18 12:14 ib_logfile2 -rw-r-----. 1 mysql root 12049 Jun 18 11:59 localhost.localdomain.err -rw-rw----. 1 mysql mysql 27537 Jul 9 05:03 localhost-slow.log drwx------. 2 mysql mysql 4096 Jun 18 12:14 mysql drwx------. 2 mysql mysql 4096 Jun 18 12:14 performance_schema drwx------. 2 mysql mysql 4096 Jul 8 10:55 test##独立表空间文件
相关文章推荐
- hibernate插入中文到mysql数据库乱码
- mysql表结构查询
- mysql show processlist state
- MySQL复制:主从和双主配置
- MySQL优化之——安全地关闭MySQL实例
- win2008 安装 配置 mysql
- 安装MySQL遇到的常见英文翻译
- mysql主从复制
- MySQL 调优/优化的总结100个建议
- Percona Xtrabackup快速备份MySQL
- mysql全文索引查询所用关键词最小长度限制
- mysql 以天为单位 统计订单数量
- mysql学习笔记(二)
- mysql学习笔记(一)
- MySQL 1042, "Can't get hostname for your address" 解决
- 基于Nodejs+Angular+Bootstrap+MySQL的Admin
- MySQL 之 触发器和事务控制
- 【MySQL】MySql定时更改数据库字段
- mysql通过DATE_FORMAT将错误数据恢复
- MySql 存储引擎的选取