目录
MySQL数据库和InnoDB存储引擎表的各种类型文件如下:
-
参数文件:告诉MySQL实例启动时在哪里可以找到数据库文件,并且指定某些初始化参数。
-
日志文件:用来记录MySQL实例对某种条件作出响应时写入的文件,如错误日志文件、二进制文件、慢查询日志文件、查询日志文件等。
-
socket文件:当用UNIX域套接字方式进行连接时需要的文件。
-
pid文件:MySQL实例的进程ID文件。
-
MySQL表结构文件:用来存放MySQL表结构定义文件。
-
存储引擎文件:存储记录和索引等数据。
3.1 参数文件
MySQL数据库的参数文件是以文本方式进行存储的。用户可以直接通过一些常用的文本编辑器进行参数的修改。
可以把数据库参数看成是一个键/值对。如:innodb_buffer_pool_size=1G。可以通过show varibales查看数据库中的所有参数,也可以通过like 来过滤参数名。或者通过information_schema下的GLOBAL_VARIABLES视图来查找。
mysql> show variables like 'innodb_buffer%'\G;
*************************** 1. row ***************************
Variable_name: innodb_buffer_pool_dump_at_shutdown
Value: OFF
*************************** 2. row ***************************
Variable_name: innodb_buffer_pool_dump_now
Value: OFF
*************************** 3. row ***************************
Variable_name: innodb_buffer_pool_filename
Value: ib_buffer_pool
*************************** 4. row ***************************
Variable_name: innodb_buffer_pool_instances
Value: 8
*************************** 5. row ***************************
Variable_name: innodb_buffer_pool_load_abort
Value: OFF
*************************** 6. row ***************************
Variable_name: innodb_buffer_pool_load_at_startup
Value: OFF
*************************** 7. row ***************************
Variable_name: innodb_buffer_pool_load_now
Value: OFF
*************************** 8. row ***************************
Variable_name: innodb_buffer_pool_size
Value: 134217728
8 rows in set (0.00 sec)
MySQL数据库中的参数可以分为两类:
-
动态(dynamic)参数:可以在MySQL实例运行中进行更改
-
静态(static)参数:在整个实例生命周期都不能更改,就好像是只读的
可以通过SET命令对动态的参数值进行修改,语法如下:
SET [global | session] system_var_name = expr