Mysql 配置项手册
简介
配置项
basedir
项
basedir
样例
basedir = /usr/local/mysql-5.7.21
备注
mysql安装根目录
tmpdir
项
tmpdir
样例
tmpdir = /tmp
备注
临时目录 比如load data infile会用到,一般都是使用/tmp
port
项
port
样例
[client]
[mysqld]
socket = 3306
备注
服务端口号 默认3306
socket
项
socket
样例
[client]
[mysqld]
socket = /tmp/mysql.sock
备注
设置socket文件地址
skip-name-resolve
项
skip-name-resolve
样例
[mysqld]
skip-name-resolve
备注
# 禁止MySQL对外部连接进行DNS解析,使用这一选项可以消除MySQL进行DNS解析的时间。但需要注意,如果开启该选项,
# 则所有远程主机连接授权都要使用IP地址方式,否则MySQL将无法正常处理连接请求
skip-networking
项
skip-networking
样例
[mysqld]
skip-networking
备注
#开启该选项可以彻底关闭MySQL的TCP/IP连接方式,如果WEB服务器是以远程连接的方式访问MySQL数据库服务器则不要开启该选项!否则将无法正常连接!
character-set-server
项
character-set-server
样例
[mysqld]
character-set-server = utf8
备注
设置数据库默认字符集
collation-server
项
collation-server
样例
[mysqld]
collation-server = utf8
备注
数据库字符集对应一些排序等规则,注意要和character-set-server对应
init_connect
项
init_connect
样例
[mysqld]
init_connect='SET NAMES utf8'
备注
设置client连接mysql时的字符集,防止乱码
lower_case_table_names
项
lower_case_table_names
样例
[mysqld]
lower_case_table_names = 1
备注
是否对sql语句大小写敏感,默认值为0,1表示不敏感
datadir
项
datadir
样例
[mysqld]
datadir = /usr/local/mysql-5.7.21/data
备注
mysql数据文件所在位置
open_files_limit
项
open_files_limit
样例
[mysqld]
open_files_limit = 65535
备注
# 当open_files_limit没有被配置的时候,比较max_connections*5和ulimit -n的值,哪个大用哪个,
# 当open_file_limit被配置的时候,比较open_files_limit和max_connections*5的值,哪个大用哪个。
# 注意:仍然可能出现报错信息Can't create a new thread;此时观察系统cat /proc/mysql进程号/limits,观察进程ulimit限制情况
# 过小的话,考虑修改系统配置表,/etc/security/limits.conf和/etc/security/limits.d/90-nproc.conf
interactive_timeout
项
interactive_timeout
样例
[mysqld]
interactive_timeout = 1800
备注
MySQL默认的wait_timeout 值为8个小时, interactive_timeout参数需要同时配置才能生效
wait_timeout
项
wait_timeout
样例
[mysqld]
wait_timeout = 1800
备注
MySQL连接闲置超过一定时间后(单位:秒,此处为1800秒)将会被强行关闭
general_log
项
general_log
样例
[mysqld]
general_log = 0
备注
普通查询日志,默认值off,不开启
general_log_file
项
general_log_file
样例
general_log_file = /usr/local/mysql-5.7.21/log/mysql-general.log
备注
普通查询日志存放地址
log_error_verbosity
项
log_error_verbosity
样例
[mysqld]
log_error_verbosity = 2
备注
全局动态变量,默认3,范围:1~3
表示错误日志记录的信息,1:只记录error信息;2:记录error和warnings信息;3:记录error、warnings和普通的notes信息。
log_error
项
log_error
样例
[mysqld]
log_error = /usr/local/mysql-5.7.21/log/mysql-error.log
备注
错误日志文件地址
slow_query_log
项
slow_query_log
样例
[mysqld]
slow_query_log = 1
备注
开启慢查询
long_query_time
项
long_query_time
样例
[mysqld]
long_query_time = 3
备注
开启慢查询时间,此处为1秒,达到此值才记录数据
log_throttle_queries_not_using_indexes
项
log_throttle_queries_not_using_indexes
样例
[mysqld]
log_throttle_queries_not_using_indexes = 0
备注
mysql 5.6.5新增,用来表示每分钟允许记录到slow log的且未使用索引的SQL语句次数,默认值为0,不限制。
slow_query_log_file
项
slow_query_log_file
样例
[mysqld]
slow_query_log_file = /usr/local/mysql-5.7.21/log/mysql-slow.log
备注
慢查询日志文件地址
log_bin
项
log_bin
样例
[mysqld]
log_bin = /usr/local/mysql-5.7.21/log/mysql-bin.log
备注
开启二进制日志
log-queries-not-using-indexes
项
log-queries-not-using-indexes
样例
[mysqld]
log-queries-not-using-indexes = 1
备注
开启记录没有使用索引查询语句
max_binlog_size
项
max_binlog_size
样例
[mysqld]
max_binlog_size = 1000M
备注
如果二进制日志写入的内容超出给定值,日志就会发生滚动。你不能将该变量设置为大于1GB或小于4096字节。 默认值是1GB。
expire_logs_days
项
expire_logs_days
样例
[mysqld]
expire_logs_days = 0
备注
mysql清除过期日志的时间,默认值0,不自动清理,而是使用滚动循环的方式,此日志是指binlog。
binlog_format
项
binlog_format
样例
[mysqld]
binlog_format = row
备注
binlog的格式也有三种:STATEMENT,ROW,MIXED。mysql 5.7.7后,默认值从 MIXED 改为 ROW
sync_binlog
项
sync_binlog
样例
[mysqld]
sync_binlog = 1
备注
默认值N=1,使binlog在每N次binlog写入后与硬盘同步,ps:1最慢
innodb_flush_log_at_trx_commit
项
innodb_flush_log_at_trx_commit
样例
innodb_flush_log_at_trx_commit=1
备注
表示日志提交方式,先从logbuffer(内存,用户空间)-->os buffer --> 磁盘
1:每次提交事务,写到logbuffer,写入到osbuffer,同时调用fsync更新磁盘;
0:每次提交事务,不会更新osbuffer,每秒钟更新osbuffer,同时调用fsync更新磁盘;
2:每次提交事务,写入到osbuffer,每秒钟调用一次fsync更新到磁盘;
> innodb_undo_tablespaces
项 innodb_undo_tablespaces 样例
备注 默认rollback segment全部写在一个文件中, 可以通过设置变量 innodb_undo_tablespaces 平均分配到多少个文件中。该变量默认值为0,不建议修改为非0的值。 该变量为静态变量,只能在数据库示例停止状态下修改
> innodb_undo_logs
项 innodb_undo_logs 样例 innodb_undo_logs=128
备注 回归段个数,每个回滚段有1024个 undo log segment,128个可以存放:128*1024个回滚操作
项
样例
备注
>
项
样例
备注
项
样例
备注
>
项
样例
备注
项
样例
备注
项
样例
备注
系统变量
autocommit
项
autocommit
样例
set session autocommit=0;
备注
表示对每次操作的结果自动提交,默认值为:0
执行:show variables like 'autocommit' 显示为:ON
项
样例
备注
项
样例
备注
项
样例
备注
项
样例
备注