Mysql中的文件分类
1.Mysql文件分类
2.参数文件
3.日志文件
4.socket文件
5.pid文件
6.MySQL表结构文件
7.存储引擎文件
1.Mysql文件分类
2.参数文件
定义
告诉MySQL实例启动时在哪里可以找到数据库文件,并且指定某些初始化参数等,比如my.cnf文件。
[root@jssdb01 ~]# mysql --help |grep my.cnf
order of preference, my.cnf, $MYSQL_TCP_PORT,
/etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf
动态参数与静态参数
动态参数:在MySQL实例运行中进行更改
静态参数:参数不能修改
动态参数修改通过set命令设置:
mysql> show variables like 'autocommit';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| autocommit | OFF |
+---------------+-------+
1 row in set (0.00 sec)
-- set session级别
mysql> set session autocommit=1;
Query OK, 0 rows affected (0.00 sec)
mysql> select @@session.autocommit;
+----------------------+
| @@session.autocommit |
+----------------------+
| 1 |
+----------------------+
1 row in set (0.00 sec)
mysql> select @@global.autocommit;
+---------------------+
| @@global.autocommit |
+---------------------+
| 0 |
+---------------------+
1 row in set (0.00 sec)
-- global没变化,将全局变量autocommit与会话变量一致
set @@global.autocommit=@@session.autocommit;
3.日志文件
定义用来记录MySQL实例对某种条件做出相应时写入的文件,如错误日志文件、二进制日志文件、慢查询日志文件、查询日志文件等。
错误日志
:记录MySQL的启动,运行和关闭中的错误信息
mysql> show variables like '%log_error%';
+---------------------+---------------------------------------+
| Variable_name | Value |
+---------------------+---------------------------------------+
| binlog_error_action | ABORT_SERVER |
| log_error | /jssdb/mysql/log/3306/jssdb-error.err |
| log_error_verbosity | 3 |
+---------------------+---------------------------------------+
二进制日志
:记录了对MySQL数据库执行更改的所有操作,但是不包括SELECT 和 SHOW这类操作,因为这类操作对数据本身并没有修改。然而,若操作本身并没有导致数据库发生变化,那么该操作可能也会写入二进制日志. `
慢查询日志
:记录了所有对MySQL数据库请求的信息,无论这些请求是否得到了正确的执行。
4.socket文件
当用UNIX域套接字方式进行连接时需要的文件。
mysql> show variables like 'socket';
+---------------+-----------------------------------+
| Variable_name | Value |
+---------------+-----------------------------------+
| socket | /jssdb/mysql/data/3306/mysql.sock |
+---------------+-----------------------------------+
1 row in set (0.00 sec)
5.pid文件
MySQL实例的进程ID文件。
mysql> show variables like 'pid_file';
+---------------+----------------------------------+
| Variable_name | Value |
+---------------+----------------------------------+
| pid_file | /jssdb/mysql/data/3306/mysql.pid |
+---------------+----------------------------------+
6.MySQL表结构文件
存储引擎MYISAM的话,存在.frm文件,用来存放MySQL表结构定义文件。
7.存储引擎文件
存储记录和索引等数据,主要的文件如下:
表空间文件
:InnoDB采用将存储的数据按表空间(tablespace)进行存放和设计。
mysql> show variables like 'innodb_data_file_path';
+-----------------------+----------------------------------------------------------+
| Variable_name | Value |
+-----------------------+----------------------------------------------------------+
| innodb_data_file_path | ibdata1:200M;ibdata2:200M;ibdata3:200M:autoextend:max:5G
重做日志文件
:记录了对于InnoDB存储引擎的事务日志。
mysql> show variables like '%innodb%log%';
+----------------------------------+------------+
| Variable_name | Value |
+----------------------------------+------------+
| innodb_api_enable_binlog | OFF |
| innodb_flush_log_at_timeout | 1 |
| innodb_flush_log_at_trx_commit | 1 |
| innodb_locks_unsafe_for_binlog | OFF |
| innodb_log_buffer_size | 16777216 |
| innodb_log_checksums | ON |
| innodb_log_compressed_pages | ON |
| innodb_log_file_size | 209715200 |
| innodb_log_files_in_group | 2 |
| innodb_log_group_home_dir | ./ |
| innodb_log_write_ahead_size | 8192 |
| innodb_max_undo_log_size | 2147483648 |
| innodb_online_alter_log_max_size | 134217728 |
| innodb_undo_log_truncate | ON |
| innodb_undo_logs | 128 |
+----------------------------------+------------+
15 rows in set (0.00 sec)
UNDO回滚日志文件
提供回滚和多个行版本控制(MVCC)
mysql> show variables like '%undo%';
+--------------------------+------------+
| Variable_name | Value |
+--------------------------+------------+
| innodb_max_undo_log_size | 2147483648 |
| innodb_undo_directory | ./ |
| innodb_undo_log_truncate | ON |
| innodb_undo_logs | 128 |
| innodb_undo_tablespaces | 3 |
+--------------------------+------------+
5 rows in set (0.00 sec)
日志非常的重要,作为DBA总是需要查看日志来解决问题与深入优化。