LinuxEye - Linux系统教程

LinuxEye - Linux系统教程

当前位置: 主页 > 数据库 >

MySQL配置文件参数a-g中文详解

时间:2015-06-05 09:16来源:未知 编辑:linuxeye 点击:
不管是新手使用MySQL还是要优化MySQL运行效率都经常要查看及修改MySQL的配置文件,linux在/etc/my.cnf,windows在 mysql目录/my.ini,下面是参考官方文档及网上资料整理出来的配置文件所有选项

不管是新手使用MySQL还是要优化MySQL运行效率都经常要查看及修改MySQL的配置文件,linux在/etc/my.cnf,windows在 mysql目录/my.ini,下面是参考官方文档及网上资料整理出来的配置文件所有选项的中文详细解释(a-g开头):

如有问题,欢迎指正

参数名

默认配置

作用域

 

abort-slave-event-count

name=0

 

不建议在生产环境中使用

allow-suspicious-udfs

name

 

该选项控制是否用户定义的函数只有一个xxx符,用作可载入的主函数。默认情况下,该选项被关闭,只有至少有一个附属符的UDF  可以载入。这样可以防止从未包含合法UDF的共享文件装载函数。

ansi

name

 

使用标准(ANSI)SQL语法代替MySQL语法。

auto_increment_increment

name=1

Both

自增长的列值的增量值,每次加几,默认为1

auto_increment_offset

name=1

Both

自增长的列值的初始值,默认为1

back_log

name=50

Global

MySQL有的主要连接请求的数量。当主MySQL线程在短时间内得到许多连接请求时发挥作用。主线程需要花一些时间(尽管很少)来检查连接并启动一个新线程。back_log值说明MySQL临时停止响应新请求前在短时间内可以堆起多少请求。如果你需要在短时间内允许大量连接,可以增加该数值。

换句话说,该值为“进”TCP/IP连接帧听队列的大小。操作系统有该队列自己的限制值。本手册中Unix listen()系统调用页应有更详细的信息。该变量最大值请查阅OS文档。企图将back_log设置为高于你的操作系统限值是徒劳无益的。

basedir

name=path

Global

MySQL安装基准目录。可以用--basedir选项设置该变量。

big-tables

name

Session

是否允许大数据表

binlog_cache_size

name=32768

Global

在事务过程中容纳二进制日志SQL语句的缓存大小。二进制日志缓存是服务器支持事务存储引擎并且服务器启用了二进制日志(--log-bin选项)的前提下为每个客户端分配的内存。如果你经常使用大的,多语句事务,你可以增加该值以获得更有的性能。Binlog_cache_use和Binlog_cache_disk_use状态变量可以用来调整该变量的大小。

binlog-do-db

name=dbname

 

告诉主服务器,如果当前的数据库(即USE选定的数据库)是db_name,应将更新记录到二进制日志中。其它所有没有明显指定的数据库  被忽略。如果使用该选项,你应确保只对当前的数据库进行更新。

对于CREATE DATABASE、ALTER DATABASE和DROP DATABASE语句,有一个例外,即通过操作的数据库来决定是否应记录语句,而不是用当前的数据库。

一个不能按照期望执行的例子:如果用binlog-do-db=sales启动服务器,并且执行USE prices; UPDATE sales.january SET amount=amount+1000;,该语句不写入二进制日志。

binlog-format

name=STATEMENT

Both

可选为ROW, STATEMENT, MIXED,5.1.29后默认为 STATEMENT

binlog-ignore-db

name=dbname

 

告诉主服务器,如果当前的数据库(即USE选定的数据库)是db_name,不应将更新保存到二进制日志中。如果你使用该选项,你应确保只对当前的数据库进行更新。

一个不能按照你期望的执行的例子:如果服务器用binlog-ignore-db=sales启动,并且执行USE prices; UPDATE sales.january SET amount=amount+1000;,该语句不写入二进制日志。

类似于--binlog-do-db,对于CREATE DATABASE、ALTER DATABASE和DROP DATABASE语句,有一个例外,即通过操作的数据库来决定是否应记录语句,而不是用当前的数据库。

bootstrap

name

 

mysql_install_db脚本使用该选项来创建MySQL授权表,不需要启动MySQL服务器。

bulk_insert_buffer_size

name= 8388608

Both

MyISAM 使用专用树状缓存来使INSERT ... SELECT、INSERT ... VALUES (...)、(...)、 ...和LOAD DATA INFILE的大块插入更快。该变量用每线程的字节数限制缓存树的大小。将它设置为0禁用优化。注释:只有向非空表添加数据时才使用该缓存。 默认值是8MB。

character-set-client-handshake

name

 

不忽略客户端发来的字符集

character-set-server

name=csname

Both

设置服务器字符集

completion_type

name=0

Both

事务结束类型:

o        如果该值为0(默认),COMMIT和ROLLBACK不受影响。

o        如果该值为1,COMMIT和ROLLBACK分别等同于COMMIT AND CHAIN和ROLLBACK AND CHAIN。(新事务用刚刚结束的事务相同的间隔等级立即启动)。

o        如果该值为2,COMMIT和ROLLBACK分别等同于COMM它RELEASE和ROLLBACK RELEASE。(事务终止后,服务器断开)。

console

name

 

windows版本才支持,将错误日志消息写入stderr和stdout,即使指定了--log-error。如果使用该选项,mysqld不关闭控制台窗口。

datadir

name=path

Global

数据目录的路径

debug-sync-timeout

name[=0]

 

name 相当于name=300

default-storage-engine

name=typename

 

与default-table-type相同

default-table-type

name=typename

 

默认表的存储引擎

default-time-zone

name=zname

 

设置默认服务器时区。该选项设置全局time_zone系统变量。如果未给出该选项, 默认时区与系统时区相同(用system_time_zone系统变量值给定)。

delayed_insert_limit

name=100

Global

插入delayed_insert_limit 延迟行后,INSERT DELAYED 处理器线程检查是否有挂起的SELECT语句。如果有,在继续插入延迟的行之前,允许它们先执行。

delayed_insert_timeout

name=300

Global

INSERT DELAYED 处理器线程的队列中没有多余的行时表被解锁,多长时间内没有收到新的INSERT DELAYED,则终止

delayed_queue_size

name=1000

Global

在某个特定的管理程序队列中有多少个行未执行,则INSERT DELAYED处理线程会等待直到队列中有空间为止,防止mysqld不会把所有存储器都用于被延迟的存储队列

des-key-file

name=path

 

从该文件读DES_ENCRYPT()和DES_DECRYPT()使用的 默认键

div_precision_increment

name=4

Both

该变量说明用/操作符执行除操作的结果可增加的精确度的位数。 默认值是4。最小和最大值分别为0和30

enable-named-pipe

name

 

启用命名管道支持。该选项只适用Windows NT、2000、XP和2003系统,并且只适用支持命名管道连接的mysqld-nt和mysqld-max-nt服务器。

enable-pstack

name=FALSE

 

打印象征性的堆栈错误信息. 只有在linux系统下,并且mysql有启动选项 --with-pstack才可以使用

engine-condition-pushdown

name=ON

Both

簇相关下推特性

event-scheduler

name=OFF

Global

开关事件调试

exit-info

name=?

 

这是不同标志的一个位掩码,你可以用来调试mysqld服务器。不要使用该选项,除非你确切知道它在做什么!

flush

name=OFF

Global

执行SQL语句后向硬盘上清空更改。一般情况执行SQL语句后 MySQL向硬盘写入所有更改,让操作系统处理与硬盘的同步。

ft_boolean_syntax

name=+-><()~*:""&

Global

使用IN BOOLEAN MODE执行的布尔全文搜索支持的操作符系列。参见12.7.1节,“布尔全文搜索”。

默认变量值为 '+ -><()~*:""&|'。更改这些值的规则是:

o操作符函数由其在字符串内的位置决定。

o替换值必须是14个字符。

o每个字符必须为ASCII码非文字数字字符。

o第1个或第2个字符必须为空格。

o除非语句在第11个字符和第12个字符处引用了操作符,否则不允许复制。这两个字符可以不相同,但这是唯一可能的两个。

o位置10、13和14(默认设置为‘:’、‘&’和‘|’)保留用于将来扩展。

ft_max_word_len

name=?84

Global

FULLTEXT索引中所包含的字的最大长度。

注释:更改该变量后必须重建FULLTEXT索引。应使用REPAIR TABLE tbl_name QUICK

ft_min_word_len

name=4

Global

FULLTEXT索引中所包含的字的最小长度。

注释:更改该变量后必须重建FULLTEXT索引。应使用REPAIR TABLE tbl_name QUICK

ft_query_expansion_limit

name=20

Global

使用WITH QUERY EXPANSION进行全文搜索的最大匹配数。

ft_stopword_file

name=path

Global

用于读取全文搜索的停止字清单的文件。该文件中的所有字都会用到;注释不重要。默认情况下,使用内嵌式停止字清单(如myisam/ft_static.c文件中所定义)。将该变量设置为空字符串('')则禁用停止字过滤。

注释:更改该变量或停止字文件的内容后必须重建FULLTEXT索引。应使用REPAIR TABLE tbl_name QUICK

gdb

name=FALSE

 

SIGINT安装一个中断处理器(需要^c停止mysqld来设置断点),并且禁止堆栈跟踪和核心文件处理

general_log_file

name=host_name.log

Global

查询日志文件,默认为host_name.log

general-log

name=OFF

Global

是否打开查询日志默认为0(or OFF),打开为1(or ON)

group_concat_max_len

name=1024

Both

允许的GROUP_CONCAT()函数结果的最大长度。

转载请保留固定链接: https://linuxeye.com/database/2593.html

------分隔线----------------------------
标签:mysql
栏目列表
推荐内容