SQL极简教程 · MySQL · MyBatis · JPA 技术笔记 教程 总结MySQL

MySQL配置文件详解

2020-03-20  本文已影响0人  十年磨一剑1111

下面的一些注释是在Linux+MySQL5.6版本下测试得到的结论

mysqld

[mysqld]

genral

datadir = /var/lib/mysql ; //MySQL数据目录.
socket = /var/lib/mysql/mysql.sock ; //以socket方式连接mysql时需要用到.
user = mysql;//mysqld程序启动的用户,默认mysql,当然,可以指定其他用户,不过,需要保证指定的用户对数据目录(/var/lib/mysql/)的权限.
port = 3306;// mysqld监听的端口.
default_storage_engine = innodb;// 默认的数据库引擎,Innodb在大多数情况下是最好的选择,但并不总是如此.

innodb

innodb_buffer_pool_size = <value>;// 定义了InnoDB 存储引擎的表数据和索引数据的最大内存缓冲区大小.
innodb_log_file_size = <value>;//MySQL重做日志,只有Innodb才有,主要用于事务处理和数据库崩溃的时候恢复处理.
innodb_file_per_table = <value> ; // 可选值是on或者off,默认开启,开启后InnoDB将为每个新创建的表的数据及索引存储在一个独立的.ibd文件里,而不是系统的表空间.
innodb_flush_method = 0_DIRCET;//这个参数控制着innodb数据文件及redo log(重做日志)的打开、刷写模式。有三个值,默认是fdatasync,0_DIRCET则表示数据文件write操作是从mysql innodb buffer 里面直接向磁盘上写.

myisam

key_buffer_size = <value>;//索引缓冲区大小,它决定索引处理的速度,尤其是索引读速度。默认只有一个键缓存,但也可以创建多个.

logging

log_error = /var/lib/mysql/mysql-error.log;// 错误日志文件路径.
slow_query_log = /var/lib/mysql/mysql-slow.log;// 慢查询日志.

other

tmp_table_size = 32M;//控制内存临时表的最大值,超过限制后就往硬盘写,写的地方取决于tmpdir.
max_heap_table_size = 32M;//定义了用户可以创建的内存表(memory table)的大小,另外,这个变量和tmp_table_zise一起决定了内部内存表的大小(取最小的那个值).
query_cache_size = 0;// 查询缓存的大小.
query_cache_type = 0;// 可选值为ON(1)或者OFF(0) ,当为ON时表示开启查询缓存.
max_connections = <value>;// 最大的连接数.
thread_cache = <value>;//线程缓存,保存那些当前没有与连接关联但是准备为后面新的连接服务的线程.
table_cache = <value>;//表缓存,包含表的.frm文件解析结果和一些其他的数据,其他数据内容依赖于表的存储引擎.
open_files_limit = 65535;// MySQL允许打开的文件数量.

mysqld_safe

[mysqld_safe]
log-error=/var/log/mysqld.log;// mysqld-safe进程的错误日志文件.
pid-file=/var/run/mysqld/mysqld.pid;//mysqld 进程pid文件,可以防止同一个数据库被启动多次.

client

[client]
socket = /var/lib/mysql/mysql.sock; //客户端连接的时候会读取这个文件.
port = 3306;// 暂时不清楚这个配置的作用,看到有些配置有写,而有些配置没写这个配置项.

这里就简单展示下每个字段的含义,那具体的值怎么配置的话,比如innodb_buffer_pool_size 配置多少比较合适,等等。后面我会更新相关的文章针对这块做详细的介绍。

上一篇下一篇

猜你喜欢

热点阅读