标签:存储引擎 data 编译 数据库 变量 text 生效 活动 microsoft
Mysql中有多种类型的文件,每种类型的文件都有其特定的作用,下面就来说说:
参数文件:告诉Mysql实例数据库文件的位置,定义参数。
日志文件:Mysql实例对某种条件作出的响应写入文件,这个文件就是日志文件,
常见的日志文件有:错误日志、二进制日志、慢查询日志以及查询日志。
socket文件:采用Unix域套接字方式进行连接时会用到的文件,
一般,我们在本地用mysql命令行连入数据库就是采用的该方式。
pid文件:Mysql实例的进程ID文件。
Mysql表结构文件:用来存放表结构定义的文件
存储引擎文件:每个表存储引擎都会有个文件来保存该引擎相关的数据,
这些数据主要是数据和索引数据。
参数文件
Mysql实例启动时,回去读取参数文件,其实就是配置文件,通过读取该文件,实例就知道了哪些文件在什么位置,
知道了参数的默认值,需要注意的是,该文件可不止一个,会按照次序来读取,后读取的优先级更高。
Mysql实例没有参数也能启动成功,因为编译的时候也有定义参数,再不济源代码中也有定义参数;但是oracle没有
参数文件,不会启动成功。
oracle参数文件分二进制和文本2种,mysql中只有文本参数文件。
mysql数据目录中有个数据结构的文件,该文件记录着有实例启动的权限,如果该文件不存在,mysql不能成功启动。
参数
参数就是K/V形式的数据。可以通过information_schema数据库中的GLOBAL_VARIABLES表来查看所有的参数:
mysql> select * from GLOBAL_VARIABLES where VARIABLE_NAME like ‘innodb_buffer%‘\G;
*************************** 1. row ***************************
VARIABLE_NAME: INNODB_BUFFER_POOL_FILENAME
VARIABLE_VALUE: ib_buffer_pool
*************************** 2. row ***************************
VARIABLE_NAME: INNODB_BUFFER_POOL_DUMP_NOW
VARIABLE_VALUE: OFF
*************************** 3. row ***************************
VARIABLE_NAME: INNODB_BUFFER_POOL_LOAD_NOW
VARIABLE_VALUE: OFF
*************************** 4. row ***************************
VARIABLE_NAME: INNODB_BUFFER_POOL_LOAD_ABORT
VARIABLE_VALUE: OFF
*************************** 5. row ***************************
VARIABLE_NAME: INNODB_BUFFER_POOL_SIZE
VARIABLE_VALUE: 134217728
*************************** 6. row ***************************
VARIABLE_NAME: INNODB_BUFFER_POOL_DUMP_AT_SHUTDOWN
VARIABLE_VALUE: OFF
*************************** 7. row ***************************
VARIABLE_NAME: INNODB_BUFFER_POOL_LOAD_AT_STARTUP
VARIABLE_VALUE: OFF
*************************** 8. row ***************************
VARIABLE_NAME: INNODB_BUFFER_POOL_INSTANCES
VARIABLE_VALUE: 8
不过还是推荐使用show variables语句来查询变量:
mysql> show variables like ‘innodb_buffer%‘\G;
参数类型
Mysql中参数的类型分为动态参数和静态参数,静态参数不能在数据库实例运行时修改,
动态参数可以在数据库实例运行时修改,修改动态参数使用
set global|session variable_name=value或者
set @@global|@@session.variable_name=value语句
需要注意的是全局参数更改了之后,当前会话中参数不会改变,而且下次启动数据库实例时,还是会读取参数文件来初始化。
如果想在当前会话立即生效,则需要指定修改当前会话的参数。
日志文件
日志文件记录了影响Mysql数据库的各种活动。
常见的日志文件有:错误日志、二进制日志、慢查询日志以及查询日志
错误日志
该日志记录了Mysql实例启动、运行以及关闭的过程,mysql出了错,首先应该查看该文件。
可以通过log_error变量名在数据库中找到该日志的存放位置
mysql> show variables like ‘log_error‘\G;
*************************** 1. row ***************************
Variable_name: log_error
Value: /var/lib/mydata/iZeu234q4mamqhZ.err
1 row in set (0.00 sec)
慢查询日志
默认数据库不会启动慢查询日志。
一般运行时间超过设置阈值的SQL语句都会记录到慢查询日志中。
这个阈值为:
mysql> show variables like ‘%long%‘\G;
*************************** 1. row ***************************
Variable_name: long_query_time
Value: 10.000000
默认为10秒。需要注意的是,等于该值的SQL语句并不会被记录。
标签:存储引擎 data 编译 数据库 变量 text 生效 活动 microsoft
原文地址:http://www.cnblogs.com/leomei91/p/7519927.html