5.1.2 服务器命令选项
当您启动mysqld服务器时,你可以使用在4.2.3节“指定程序选项”中描述的任何方法指定程序选项。最常见的方法是在选项文件或命令行中提供选项。然而,在大多数情况下都希望确保每次运行服务器均使用相同的选项。确保这一点的最好方法就是在选项文件中列出它们。参见4.2.3.3节,“使用选项文件”。
Mysqld从[mysqld]和[server]组读取选项。 mysqld_safe从[mysqld],[server],[mysqld_safe],和[safe_mysqld]组读取选项。 mysql.server从[mysqld]和[mysql.server]组读取选项。
嵌入式MySQL服务器通常从[server],[embedded],和[xxxxx_SERVER]组中读取选项,其中xxxxx是服务嵌入的对应应用的名称。
mysqld接受许多的命令选项。执行mysqld –help,查看简要的总结。要查看完整的列表,使用mysqld –verbose –help。
以下列表显示了一些最常见的服务器选项。其余选项在其它章节描述:
•影响安全性的选项:请参阅第5.3.4节“安全相关的mysqld选项”。
•SSL相关的选项:参见5.5.8.3节,“SSL命令选项”。
•二进制日志控制选项:请参阅第5.2.4节,“二进制日志”。
•复制相关的选项:参见15.1.3节,“复制和二进制日志的选项和变量”。
•加载插件的选项,如插件式存储引擎:请参见5.1.7.1节,“安装和卸载插件”。
•特定的存储引擎的选项:请参见第13.5.1,“MyISAM启动选项”,和第13.3.4,“InnoDB启动选项和系统变量“。
您还可以如在本节末尾中所述的,使用变量名作为选项来设置服务器系统变量的值。
一些选项控制缓冲区或缓存的大小。对于一个给定的缓冲区,服务器可能需要分配内部数据结构。这些结构通常是从分配给该缓冲区的总内存中分配,所需的内存可能会依赖于平台。这意味着,当你指定一个控制缓冲区大小的选项值时,实际可用的内存可能会和分配的值有所不同。在大部分情况下,数量可能会少于分配的值。服务器也可能将向上调整它的值。例如,如果你分配一个0到最低值是1024的选项,服务器将设定该值到1024。
除非另有规定,缓冲区大小,长度和栈大小的值以字节为单位。
除另有规定外,如果类似文件名称的选项值是一个相对路径,默认文件位置是数据目录。要明确指定位置,请使用绝对路径。假设,数据目录是/var/mysql/data。如果一个文件名型的选项指定的是一个相对路径,它将位于/var/mysql/data。如果是一个绝对路径名,它的位置是给定的路径。
- –help, -?
Command-Line Format |
-? |
–help |
|
Option-File Format |
help |
显示简短的帮助信息后退出。一起使用–verbose和–help选项来查看完整的信息。
Command-Line Format |
–allow-suspicious-udfs |
|
Option-File Format |
allow-suspicious-udfs |
|
Permitted Values |
||
Type |
boolean |
|
Default |
FALSE |
该选项控制是否可以加载一个主函数只有XXX名称的用户定义函数。默认情况下,该选项是关闭的,只有至少有一个辅助名的UDF可以加载,这将阻止那些除了从共享对象文件加载合法UDF之外的函数的尝试。请参见22.3.2.6节,“用户自定义函数的安全防范措施”。
Command-Line Format |
–ansi |
-a |
|
Option-File Format |
ansi |
使用标准(ANSI)SQL语法替代MYSQL语法。要对服务器SQL模式进行更精确的控制,使用–sql-mode选项来替代。参见1.8.3节,“在ANSI模式下运行MySQL”,和第5.1.6节,“服务器SQL模式”。
Command-Line Format |
–basedir=path |
|
-b |
||
Option-File Format |
basedir |
|
Option Sets Variable |
Yes, basedir |
|
Variable Name |
basedir |
|
Variable Scope |
Global |
|
Dynamic Variable |
No |
|
Permitted Values |
||
Type |
file name |
MYSQL的安装路径。通常,所有相对路径都根据这个路径进行解析。
Command-Line Format |
–big-tables |
|
Option-File Format |
big-tables |
|
Option Sets Variable |
Yes, big_tables |
|
Variable Name |
big-tables |
|
Variable Scope |
Global, Session |
|
Dynamic Variable |
Yes |
|
Permitted Values |
||
Type |
boolean |
通过将所有临时结果集保存在文件中,以允许大型结果集。该选项消除了大部分“table full”错误,但是也使得那些使用内存临时表就足够了的查询变慢了。从MYSQL 3.23.2开始,服务器可以通过为小的临时表使用内存,必要时转为磁盘表来自动处理大型结果集。
Command-Line Format |
–bind-address=name |
|
Option-File Format |
bind-address=name |
|
Variable Name |
bind-address |
|
Variable Scope |
Global |
|
Dynamic Variable |
No |
|
Permitted Values |
||
Type |
string |
|
Default |
0.0.0.0 |
|
Range |
0.0.0.0 .. 255.255.255.255 |
将绑定的IP地址。只能够选择一个地址。如果该选项被指定多次,将使用最后指定的地址。
如果没有地址或者指定0.0.0.0,服务器将监听所有接口。
Command-Line Format |
–binlog-format=format |
|
Option-File Format |
binlog-format=format |
|
Option Sets Variable |
Yes, binlog_format |
|
Variable Name |
binlog_format |
|
Variable Scope |
Global, Session |
|
Dynamic Variable |
Yes |
|
Permitted Values |
||
Type |
enumeration |
|
Default |
STATEMENT |
|
Valid Values |
ROW STATEMENT MIXED |
指定是否使用基于行、基于语句、或混合的复制。在MYSQL5.5中基于语句是默认的选项。参见,第15.1.2节。复制方式。
5.5以前的MYSQl,在没有启用二进制日志的情况下设置二进制日志格式将阻止MYSQl服务器启动。在MYSQL5.5中,在这种情况下服务器会启动,全局系统变量binlog format被设置,并记录一个警告来代替错误。(Bug #42928)
Command-Line Format |
–bootstrap |
Option-File Format |
bootstrap |
这个选项被mysql_install_db脚本用于创建MYSQL授权表,以避免必须启动完整的MYSQL服务器。
如果在MYSQL编译时配置了DISABLE GRANT OPTIONS编译标识,这个选项不可用。参见2.9.4节MYSQL源码配置选项。
Command-Line Format |
–character-sets-dir=path |
|
Option-File Format |
character-sets-dir=path |
|
Option Sets Variable |
Yes, character_sets_dir |
|
Variable Name |
character-sets-dir |
|
Variable Scope |
Global |
|
Dynamic Variable |
No |
|
Permitted Values |
||
Type |
directory name |
安装了字符集的路径。参见9.5节 字符集设置。
Command-Line Format |
–character-set-client-handshake |
|
Option-File Format |
character-set-client-handshake |
|
Permitted Values |
||
Type |
boolean |
|
Default |
TRUE |
不要忽略客户端发送的字符集设置。要忽略客户端信息并使用默认服务器字符集,使用–skip-character-set-client-handshake;这导致MYSQL的行为和MYSQL4.0一样。
Command-Line Format |
–character-set-filesystem=name |
|
Option-File Format |
character-set-filesystem |
|
Option Sets Variable |
||
Variable Name |
character_set_filesystem |
|
Variable Scope |
Global, Session |
|
Dynamic Variable |
Yes |
|
Permitted Values |
||
Type |
string |
文件系统字符集。这个选项设置character_set_filesystem系统变量的值。
- –character-set-server=charset_name, -C charset_name
Command-Line Format |
–character-set-server |
|
Option-File Format |
character-set-server |
|
Option Sets Variable |
Yes, character_set_server |
|
Variable Name |
character_set_server |
|
Variable Scope |
Global, Session |
|
Dynamic Variable |
Yes |
|
Permitted Values |
||
Type |
string |
使用charset_name作为服务器默认字符集。参见9.5节 “字符集设置”。如果你使用这个选项指定一个非默认的字符集,你应该同时使用–collation-server指定校对规则。
- –chroot=path, -r path
Command-Line Format |
–chroot=name |
|
-r name |
||
Option-File Format |
chroot |
|
Permitted Values |
||
Type |
file name |
通过在启动阶段使用chroot()系统调用将mysqld放在一个封闭环境中。这是一个推荐的安全措施。请注意,使用该选项将在某种程度上限制LOAD DATA INFILE和SELECT … INTO OUTFILE。
Command-Line Format |
–collation-server |
|
Option-File Format |
collation-server |
|
Option Sets Variable |
Yes, collation_server |
|
Variable Name |
collation_server |
|
Variable Scope |
Global, Session |
|
Dynamic Variable |
Yes |
|
Permitted Values |
||
Type |
string |
使用collation_name作为服务器的默认校对规则。参见9.5节“字符集设置”。
Command-Line Format |
–console |
Option-File Format |
console |
Platform Specific |
windows |
(只用于windows)向标准输出和标准错误输出错误日志信息,即使已经指定了–log-error。如果使用了这个选项,mysqld将不会关闭控制台窗口。
Command-Line Format |
–core-file |
|
Option-File Format |
core-file |
|
Permitted Values |
||
Type |
boolean |
|
Default |
FALSE |
如果mysqld崩溃,写入一个核心文件。核心文件的名称和路径依赖于操作系统。在Linux上,一个名为core.pid的核心文件被写到当前进程的工作路径,对于mysqld而言,它是数据目录。pid代表服务进程的进程ID。在Mac OS X上,一个名为core.pid的文件被写到/cores目录。在Solaris上,使用coreadm命令来指定核心文件的写入位置以及名称。
对于某些操作系统,你必须同时给mysqld_safe指定–core-file-size选项以获得核心文件。参见4.3.2节 “mysqld_safe MySQL服务器启动脚本”。在某些操作系统上,例如Solaris,如果你同时使用了–user选项,你将无法获得核心文件。这里可能有更多的额外约束或限制,例如,可能需要在启动服务前执行ulimit -c unlimited。具体请查询你的操作系统文档。
- –datadir=path, -h path
Command-Line Format |
–datadir=path |
|
-h |
||
Option-File Format |
datadir |
|
Option Sets Variable |
Yes, datadir |
|
Variable Name |
datadir |
|
Variable Scope |
Global |
|
Dynamic Variable |
No |
|
Permitted Values |
||
Type |
file name |
数据目录的路径。
- –debug[=debug_options], -# [debug_options]
Command-Line Format |
–debug[=debug_options] |
|
Option-File Format |
debug |
|
Variable Name |
debug |
|
Variable Scope |
Global, Session |
|
Dynamic Variable |
Yes |
|
Permitted Values |
||
Type |
string |
|
Default |
‘d:t:o,/tmp/mysqld.trace’ |
如果MYSQL编译时配置了-DWITH DEBUG=1。你可以使用该选项获得一个关于mysqld在做什么的跟踪文件。一个典型debug_option字符串是’d:t:o,file_name’。默认值是’d:t:i:o,mysqld.trace’。参见MYSQL内部机制:移植。
使用-DWITH DEBUG=1编译mysql以包含调试支持,使得你可以在启动服务器时使用–debug=”d,parser debug”选项。它令用于处理SQL语句的Bison解析器向标准错误输出输出一个解析跟踪文件。典型的,这个输出被写入到错误日志。
该选项可以被多次指定。以+或-开头的值将加到先前值或者从先前值中减去。例如,–debug=T –debug=+P设置值为P:T。
Command-Line Format |
–debug-sync-timeout[=#] |
|
Option-File Format |
debug-sync-timeout |
|
Permitted Values |
||
Type |
numeric |
控制为了测试和调试的同步调试器(Dbug Sync facility)是否启用。使用同步调试要求MYSQL编译包含-DENABLE DEBUG SYNV=1配置(参见2.9.4节Mysql源码编译选项)如果同步调试没有被编译进mysql,该选项不可用。选项值是一个以秒为单位的超时值。默认值为0,它将禁用同步调试。要启用它,指定一个大于0的值。它的值也成为不同同步点的默认超时。如果给出该选项但不指定值,超时被设置为300秒。
同步调试器的描述和如何使用同步点参见“mysql内部结构:测试同步”。
Command-Line Format |
–default-character-set=name |
|
-C name |
||
Option-File Format |
default-character-set=name |
|
Deprecated |
5.0 |
|
Permitted Values |
||
Type |
string |
使用charset_name作为默认字符集。该选项已经过时了,被–character-set-server取代。参见9.5节“字符集”。在5.5.3中–default-character-set被删除。
Command-Line Format |
–default-collation=name |
|
Option-File Format |
default-collation=name |
|
Deprecated |
4.1.3 |
|
Permitted Values |
||
Type |
string |
使用collation_name作为默认校对规则。该选项已经过时了,被–collation-server取代。参见9.5节“字符集设置”。在5.5.3中–default-collation被删除。
Command-Line Format |
–default-storage-engine=name |
|
Option-File Format |
default-storage-engine |
|
Option Sets Variable |
||
Variable Name |
default_storage_engine |
|
Variable Scope |
Global, Session |
|
Dynamic Variable |
Yes |
|
Permitted Values (<= 5.5.4) |
||
Type |
enumeration |
|
Default |
MyISAM |
|
Permitted Values (>= 5.5.5) |
||
Type |
enumeration |
|
Default |
InnoDB |
设置表的默认存储引擎(表类型)。参见13节存储引擎。
Command-Line Format |
–default-time-zone=name |
|
Option-File Format |
default-time-zone |
|
Permitted Values |
||
Type |
string |
设置默认的服务器时区。该选项设置全局系统变量time zone。如果这个选项没有给出,默认的时区和操作系统时区一致(来自system_time_zone 系统变量的值)。
Command-Line Format |
–delay-key-write[=name] |
|
Option-File Format |
delay-key-write |
|
Option Sets Variable |
Yes, delay_key_write |
|
Variable Name |
delay-key-write |
|
Variable Scope |
Global |
|
Dynamic Variable |
Yes |
|
Permitted Values |
||
Type |
enumeration |
|
Default |
ON |
|
Valid Values |
ON OFF ALL |
指定如何使用延迟键写入。延迟键写入导致对MyISAM表的写入间的键缓存不刷新到磁盘。OFF禁用延迟键写入。ON为那些创建时指定了DELAT_KEY_WRITE选项的表启用延迟键写入。ALL为所有MyISAM表启用延迟键写入。参见7.11.2节,“调节服务器参数”,和13.5.1节“MyISAM启动选项”。
注意:
如果你将该选项设置为ALL,当表正在使用时,你不应该在另一个程序中使用MyISAM表(例如另一个MySQL服务器或者myisamchk)。这样做会导致索引损坏。
Command-Line Format |
–des-key-file=file_name |
Option-File Format |
des-key-file=file_name |
从这个文件中读取默认的DES密钥。这些密钥用于DES ENCRYPT()和DES DECRYPT()函数。
Command-Line Format |
–enable-named-pipe |
Option-File Format |
enable-named-pipe |
Option Sets Variable |
Yes, named_pipe |
Platform Specific |
windows |
启用命名管道支持。该选项只适用于windows。
Version Removed |
5.5.7 |
|
Command-Line Format |
–enable-pstack |
|
Option-File Format |
enable-pstack |
|
Deprecated |
5.1.54 |
|
Permitted Values |
||
Type |
boolean |
|
Default |
FALSE |
该选项在MySQL5.5.7以前的版本不起作用。在5.5.7中已经删除该选项。
- –engine-condition-pushdown={ON|OFF}
Version Deprecated |
5.5.3 |
|
Command-Line Format |
–engine-condition-pushdown |
|
Option-File Format |
engine-condition-pushdown |
|
Option Sets Variable |
||
Variable Name |
engine_condition_pushdown |
|
Variable Scope |
Global, Session |
|
Dynamic Variable |
Yes |
|
Deprecated |
5.5.3, by optimizer_switch |
|
Permitted Values |
||
Type |
boolean |
|
Default |
ON |
参见engine condition pushdown系统变量。更多的信息参见7.13.3节 “引擎条件下推(engine condition pushdown)优化”
Command-Line Format |
–event-scheduler[=value] |
|
Option-File Format |
event-scheduler |
|
Option Sets Variable |
Yes, event_scheduler |
|
Variable Name |
event_scheduler |
|
Variable Scope |
Global |
|
Dynamic Variable |
Yes |
|
Permitted Values |
||
Type |
enumeration |
|
Default |
OFF |
|
Valid Values |
ON OFF DISABLED |
启用或禁用,并启动或停止事件调度器。
更多详细信息参见–event-scheduler选项。
- –exit-info[=flags], -T [flags]
Command-Line Format |
–exit-info[=flags] |
|
-T [flags] |
||
Option-File Format |
exit-info |
|
Permitted Values |
||
Type |
numeric |
这是一个不同标志的位掩码,你可以用于调试mysqld服务器。除非你确切的知道它在干什么,不要使用这个选项!
Command-Line Format |
–external-locking |
|
Option-File Format |
external-locking |
|
Option Sets Variable |
||
Disabled by |
skip-external-locking |
|
Permitted Values |
||
Type |
boolean |
|
Default |
FALSE |
启用外部锁(操作系统锁),在MySQL4.0中默认是禁用的。注意,如果你在一个lockd不完全有效的操作系统使用该选项(例如Linux),mysqld将很容易死锁。
启用外部锁只影响对MyISAM表的访问。更多信息,包括在哪些环境下可以或者不可以使用它,参见7.10.5节“外部锁”。
Command-Line Format |
–flush |
|
Option-File Format |
flush |
|
Variable Name |
flush |
|
Variable Scope |
Global |
|
Dynamic Variable |
Yes |
|
Permitted Values |
||
Type |
boolean |
|
Default |
OFF |
在每条SQL语句后刷写(同步)所有变化到磁盘。一般,MySQL在每条SQL语句后只将所有变化写入磁盘*,并让操作系统控制同步到磁盘。(Flush (synchronize) all changes to disk after each SQL statement. Normally, MySQL does a write of all changes to disk only after each SQL statement and lets the operating system handle the synchronizing to disk.)参见C.5.4.2节“如果MySQL持续崩溃该做什么”
*译者注:这里应该理解为磁盘文件。
Command-Line Format |
–gdb |
|
Option-File Format |
gdb |
|
Permitted Values |
||
Type |
boolean |
|
Default |
FALSE |
安装一个SIGINT中断处理程序(需要用^C停止mysqld来设置断点)并禁用堆栈跟踪和核心文件处理。参见MySQL内部结构:移植。
Command-Line Format |
–general-log |
|
Option-File Format |
general-log |
|
Option Sets Variable |
Yes, general_log |
|
Variable Name |
general_log |
|
Variable Scope |
Global |
|
Dynamic Variable |
Yes |
|
Permitted Values |
||
Type |
boolean |
|
Default |
OFF |
指定查询日志的初始状态。不指定参数或者指定的参数为1,–general-log选项启用日志。如果省略或者指定的参数为0,该选项禁用日志。
Command-Line Format |
–init-file=file_name |
|
Option-File Format |
init-file=file_name |
|
Option Sets Variable |
Yes, init_file |
|
Variable Name |
init_file |
|
Variable Scope |
Global |
|
Dynamic Variable |
No |
|
Permitted Values |
||
Type |
file name |
在启动时从这个文件读取SQL语句。每个语句必须在单独一行,并且不能包含注释。
如果mysql编译配置了DISABLE GRANT OPTIONS编译标志,该选项不可用。参见2.9.4节“MySQL源码编译配置选项”。
–innodb-xxx
InnoDB选项在13.3.4节“InnoDB启动选项和系统变量”列出。
Command-Line Format |
–install [service_name] |
(仅windows)将服务端安装成在windows启动时自动启动的window服务。如果没有指定service_name的值,默认的服务名称是MySQL。更多信息参见2.3.6.7节“让MySQL作为windows服务启动”
Command-Line Format |
–install-manual [service_name] |
(仅windows)将服务端安装成必须手动启动的windows服务。在windows启动时,它不会自动启动。如果没有指定service_name的值,默认的服务名称是MySQL。更多信息参见2.3.6.7节“让MySQL作为windows服务启动”。
Command-Line Format |
–language=name |
|
-L |
||
Option-File Format |
language |
|
Option Sets Variable |
Yes, language |
|
Variable Name |
language |
|
Variable Scope |
Global |
|
Dynamic Variable |
No |
|
Deprecated |
5.6.1 |
|
Permitted Values |
||
Type |
directory name |
|
Default |
/usr/local/mysql/share/mysql/english/ |
错误消息使用的语言。lang_name可以指定为语言名称或者安装了语言文件的目录完整路径。参见9.2节“设置错误消息语言”
在MySQL5.5中,应该使用–lc-messages-dir和–lc-messages而不是–language。–language已经过时,并且被当成–lc-messages-dir的别名处理。
Command-Line Format |
–large-pages |
|
Option-File Format |
large-pages |
|
Option Sets Variable |
Yes, large_pages |
|
Variable Name |
large_pages |
|
Variable Scope |
Global |
|
Dynamic Variable |
No |
|
Platform Specific |
linux |
|
Permitted Values |
||
Type (linux) |
boolean |
|
Default |
FALSE |
有些硬件/操作系统构架支持大于默认(通常是4k)的内存页面大小。这种支持的具体实现依赖于底层硬件和操作系统。经常访问内存的应用程序可以从使用大分页获得性能提升,原因是更少的页面缓存失效(TLB miss)。
MySQL5.5支持Linux的大分页支持实现(在Linux被称为HugeTLB)。参见7.11.4.2节“启用大分页支持”Solaris的大分页支持,参见–super-large-pages选项的描述。
–large-pages默认是禁用的。
Command-Line Format |
–lc-messages=name |
|
Option-File Format |
lc-messages |
|
Option Sets Variable |
Yes, lc_messages |
|
Variable Name |
lc-messages |
|
Variable Scope |
Global, Session |
|
Dynamic Variable |
Yes |
|
Permitted Values |
||
Type |
string |
错误消息使用的语言环境。服务器将参数转换为一个语言名称,并结合–lc-messages-dir的值来生成错误消息文件的语言环境。参见9.2节 “设置错误消息语言”。
Command-Line Format |
–lc-messages-dir=path |
|
Option-File Format |
lc-messages-dir |
|
Option Sets Variable |
Yes, lc_messages_dir |
|
Variable Name |
lc-messages-dir |
|
Variable Scope |
Global |
|
Dynamic Variable |
No |
|
Permitted Values |
||
Type |
directory name |
放置错误消息的目录。这个值和–lc-messages一起用于生成错误消息文件的语言环境。参见9.2节 “设置错误消息语言”。
- –log[=file_name], -l [file_name]
Command-Line Format |
–log[=name] |
|
-l |
||
Option-File Format |
log |
|
Option Sets Variable |
Yes, log |
|
Variable Name |
log |
|
Variable Scope |
Global |
|
Dynamic Variable |
Yes |
|
Deprecated |
5.1.29, by general-log |
|
Permitted Values |
||
Type |
string |
|
Default |
OFF |
该选项启用查询日志的记录,查询日志包含了客户端连接和客户端接收的SQL语句的记录条目。日志的输方式可以用–log-output选项选择。如果你忽略了文件名,MySQL使用host_name.log作为文件名。参见5.2.1节“选择查询日志和慢查询日志的输出目地”和5.2.3节“查询日志”。
在MySQL5.6中–log选项已经过时并且被删除(和log系统变量一起)。代替方案是,使用–general_log选项来启用查询日志,使用–general_log_file=file_name选项设置查询日志文件名。
Command-Line Format |
–log-error[=name] |
|
Option-File Format |
log-error |
|
Option Sets Variable |
Yes, log_error |
|
Variable Name |
log_error |
|
Variable Scope |
Global |
|
Dynamic Variable |
No |
|
Permitted Values |
||
Type |
file name |
将启动和错误消息记录到这个文件。参见5.2.2“错误日志”。如果你忽略文件名,MySQL使用host_name.err。如果文件名没有扩展名,服务器将加上一个.err的扩展名。
Command-Line Format |
–log-isam[=name] |
|
Option-File Format |
log-isam |
|
Permitted Values |
||
Type |
file name |
记录所有MyISAM改变到这个文件(只用于调试MyISAM时)。
Command-Line Format |
–log-long-format |
-0 |
|
Option-File Format |
log-long-format |
Deprecated |
4.1 |
如果启用了二进制日志和慢查询日志,记录额外的信息到日志。例如,所有查询的用户名和时间戳都被记录。该选项已经过时,因为它代表默认的日志记录行为。(参见–log-short-format的描述)为了记录没有使用索引的查询到慢查询日志,现在提供了–log-queries-not-using-indexes选项。在5.5.3–log-long-format选项已经被删除。
Command-Line Format |
–log-output[=name] |
|
Option-File Format |
log-output |
|
Option Sets Variable |
Yes, log_output |
|
Variable Name |
log_output |
|
Variable Scope |
Global |
|
Dynamic Variable |
Yes |
|
Permitted Values |
||
Type |
set |
|
Default |
FILE |
|
Valid Values |
TABLE FILE NONE |
该选项指定查询日志和慢查询日志的输出方式。该选项可以用TABLE,FILE或者是NONE中的一个或多个指定。如果指定该选项但没有赋值,默认值是FILE。选择TABLE指定记录日志到mysql数据库的general_log和slow_log表中。选择FILE指定记录日志到文件。NONE禁用日志。如果NONE出现在选项值中,它的优先级超过所有其它出现的词。TABLE和FILE可以同时给出以同时选择两个输出方式。
这个选项选择日志的输出方式,但是并不启用日志。要启用日志,使用–general_log和–slow_query_log选项。对于FILE记录方式而言,–general_log_file和–slow_query_log_file选项指定日志文件位置。更多信息参见5.2.1节“选择查询日志和慢查询日志输出目地”。
Command-Line Format |
–log-queries-not-using-indexes |
|
Option-File Format |
log-queries-not-using-indexes |
|
Option Sets Variable |
||
Variable Name |
log_queries_not_using_indexes |
|
Variable Scope |
Global |
|
Dynamic Variable |
Yes |
|
Permitted Values |
||
Type |
boolean |
|
Default |
OFF |
如果你在启用了慢查询日志的情况下使用这个选项,预计进行全表扫描的查询将被记录。参见5.2.5节“慢查询日志”。该选项并不一定意味着没有使用索引。例如,一个使用了索引,但用的是全索引扫描的查询将被记录,因为索引没有减少被扫描的行数。
Command-Line Format |
–log-short-format |
|
Option-File Format |
log-short-format |
|
Permitted Values |
||
Type |
boolean |
|
Default |
FALSE |
如果启用了相应的日志,记录更少的信息到二进制日志和慢查询日志。
Command-Line Format |
–log-slow-admin-statements |
|
Option-File Format |
log-slow-admin-statements |
|
Permitted Values |
||
Type |
boolean |
|
Default |
FALSE |
记录慢管理语句,例如OPTMIZE TABLE,ANALYZE TABLE,和ALTER TABLE到慢查询日志。
Command-Line Format |
–log-slow-queries[=name] |
|
Option-File Format |
log-slow-queries |
|
Option Sets Variable |
Yes, log_slow_queries |
|
Variable Name |
log_slow_queries |
|
Variable Scope |
Global |
|
Dynamic Variable |
Yes |
|
Deprecated |
5.1.29, by slow-query-log |
|
Permitted Values |
||
Type |
boolean |
该选项启用慢查询日志记录,它包含所有执行时间超过long_query_time的查询条目。更多细节参见–log-long-format和–log-short-format的描述。日志的输出方式可以通过–log-ouput选项选择。如果你忽略文件名,MySQL使用host_name-slow.log作为文件名。参见5.2.1节,“选择查询日志和慢查询日志输出方式”和5.2.5节“慢查询日志”。
在MySQL5.6中–log-slow-queries选项已经过时并且被删除(和log_slow_queries系统变量一起)。替代方案是,使用–slow_query_log选项来启用慢查询日志,使用–slow_query_log_file=File_name选项来设置慢查询日志文件名。
Command-Line Format |
–log-tc=name |
|
Option-File Format |
log-tc |
|
Permitted Values |
||
Type |
file name |
|
Default |
tc.log |
内存映射事务协调日志文件(memory-mapped transaction coordinator log file)的文件名(用于在禁用了二进制日志的情况下影响多个存储引擎的XA事务)。默认的名称是tc.log。如果没有给定全路径,该文件将在数据目录下创建。目前,该选项没有被使用。
Command-Line Format |
–log-tc-size=# |
|
Option-File Format |
log-tc-size |
|
Permitted Values |
||
Platform Bit Size |
32 |
|
Type |
numeric |
|
Default |
24576 |
|
Max Value |
4294967295 |
|
Permitted Values |
||
Platform Bit Size |
64 |
|
Type |
numeric |
|
Default |
24576 |
|
Max Value |
18446744073709547520 |
内存映射事务协调日志文件(memory-mapped transaction coordinator log file)大小字节数。默认大小是24KB。
–log-warnings[=level], -W [level]
Command-Line Format |
–log-warnings[=#] |
|
-W [#] |
||
Option-File Format |
log-warnings |
|
Option Sets Variable |
Yes, log_warnings |
|
Variable Name |
log_warnings |
|
Variable Scope |
Global, Session |
|
Dynamic Variable |
Yes |
|
Disabled by |
skip-log-warnings |
|
Permitted Values |
||
Platform Bit Size |
64 |
|
Type |
numeric |
|
Default |
1 |
|
Range |
0 .. 18446744073709547520 |
输出警告到错误日志,例如Abourted connection…。推荐启用该选项,例如,如果你使用了复制(你得到更多关于什么正在发生的信息,例如关于网络错误和重连的消息)。该选项默认是启用的(1),如果忽略level,默认值是1。要禁用该选项,使用–log-warnings=0。如果给定的值大于1,连接中断将写入到错误日志,并且新连接尝试连接时的禁止连接也写入。参见C.5.2.11节“通讯错误和连接中断”。
如果一个从机启动时使用了–log-warnings,从机输出消息到错误日志以提供它的状态,例如二进制日志和中继日志协调从哪里开始它们的工作,什么时候切换到另一个中继日志,什么时候在断开连接后重新连接,等等。只有–log-warnings打开的情况下,服务器才会记录关于在基于语句的复制下不安全的语句。
Command-Line Format |
–low-priority-updates |
|
Option-File Format |
low-priority-updates |
|
Option Sets Variable |
Yes, low_priority_updates |
|
Variable Name |
low_priority_updates |
|
Variable Scope |
Global, Session |
|
Dynamic Variable |
Yes |
|
Permitted Values |
||
Type |
boolean |
|
Default |
FALSE |
给修改表的操作(INSERT,REPALCE,DELETE,UPDATE)比选择更低的优先级。也可以为单独的语句用{INSERT|REPALTE|DELETE|UPDATE} LOW_PRIORITY …来达成降低单一语句的优先级。或者用SET LOW_PRIORITE_UPDATES=1来改变一个线程内的优先级。它只影响使用表级锁的存储引擎(MyISAM,MEMORY,MERGE)。参见7.10.2章,“表锁定问题”。
–min-examined-row-limit=number
Command-Line Format |
–min-examined-row-limit=# |
|
Option-File Format |
min-examined-row-limit |
|
Variable Name |
min_examined_row_limit |
|
Variable Scope |
Global, Session |
|
Dynamic Variable |
Yes |
|
Permitted Values |
||
Platform Bit Size |
32 |
|
Type |
numeric |
|
Default |
0 |
|
Range |
0 .. 4294967295 |
|
Permitted Values |
||
Platform Bit Size |
64 |
|
Type |
numeric |
|
Default |
0 |
|
Range |
0 .. 18446744073709547520 |
当该选项被设置时,检查少于number行的查询将不会记录到慢查询日志。默认值是0。
Command-Line Format |
–memlock |
|
Option-File Format |
memlock |
|
Variable Name |
locked_in_memory |
|
Variable Scope |
Global |
|
Dynamic Variable |
No |
|
Permitted Values |
||
Type |
boolean |
|
Default |
FALSE |
将mysqld进程锁定在内存中,如果你遇到操作系统导致的mysqld交换到磁盘上的问题,该选项也许能起作用。
–menlock选项在支持mlockall()系统调用的操作系统上起作用;它包括Solaris和大部分使用2.4或更新版本内核的Linux发行版本。在Linux系统上,你可以通过检查是否mman.h文件中有下列定义来确定是否支持mlockall()(从而是否支持本选项),像这样:
shell> grep mlockall /usr/include/sys/mman.h
如果mlockall()是被支持的,你应该能看到前面命令的输出中有类似下面的内容:
extern int mlockall (int __flags) __THROW;
重要:
使用该选项要求你使用root用户运行服务器。基于安全的原因,这通常不是一个好主意。参见5.3.6节“如何用普通用户运行MySQL”
你绝对不能尝试在不支持mlockall()系统调用的操作系统上使用该选项;如果你这样做,mysqld很可能将会在你尝试启动它时,立即崩溃。
Command-Line Format |
–myisam-block-size=# |
|
Option-File Format |
myisam-block-size |
|
Permitted Values |
||
Type |
numeric |
|
Default |
1024 |
|
Range |
1024 .. 16384 |
MyISAM索引页使用的块大小。
–myisam-recover[=option[,option]…]]
该选项从5.5.3开始被重命名为–myisam-recover-options。更多信息参见该选项的描述。
–myisam-recover-options[=option[,option]…]]
Version Introduced |
5.5.3 |
|
Command-Line Format |
–myisam-recover-options[=name] |
|
Option-File Format |
myisam-recover-options |
|
Option Sets Variable |
||
Permitted Values |
||
Type |
enumeration |
|
Default |
OFF |
|
Valid Values |
OFF DEFAULT BACKUP FORCE QUICK |
设置MyISAM引擎的恢复模式。选项值是DEFAULT,OFF,BACKUP,FORCE,QUICK几个值的任意组合。如果你指定多个值,用逗号隔开它们。指定该选项,但不给定值的话,和指定DEFAULT为值是相同的。同时,明确指定空字符串””禁用恢复(和不指定该选项相同)。如果启用了恢复,每次mysqld打开一个MyISAM表时,它检查表是否被标记为崩溃或者没有被正确关闭。(后面的检查只在外部锁定(external locking)被禁用时才起作用。)如果是在这种情况下(指检查到表损坏时),mysqld在表上运行一次检查。如果表损坏了,mysqld尝试修复它。
接下来的选项影响修复如何进行。
Option |
Description |
DEFAULT |
在没有备份,强制,快速检查下进行修复。 |
OFF |
在没有备份,强制,快速检查下进行修复。 |
BACKUP |
如果数据文件在修复的过程中被改变了,保存tbl_name.MYD文件的一个备份为tbl_name-datetime.BAK。 |
FORCE |
即使可能从.MYD文件丢失多行,也进行恢复。 |
QUICK |
如果没有删除任何块,不检查表中的行。 |
在服务器自动修复表之前,它记录一条关于修复的日志到错误日志。如果你想要在没有你的干涉的情况下能够从绝大多数错误中恢复,你应该使用BACKUP,FORCE选项。它强制对表进行恢复,即使有些行可能被删除。但它保留老的数据文件作为备份,以便于你在稍后检查发生了什么。
在MySQL5.5.3以前,这个选项被称为–myisam-recover。该选项依旧能够起作用,因为它被识别为新名字–mysql-recover-option的不模糊的前缀。(选项前缀的识别在4.2.3节“指定程序选项”的描述中出现)
选项值OFF从MySQL5.5.3开始生效。
参见13.5.1节“MyISAM启动选项”。
Command-Line Format |
–old-alter-table |
|
Option-File Format |
old-alter-table |
|
Option Sets Variable |
Yes, old_alter_table |
|
Variable Name |
old_alter_table |
|
Variable Scope |
Global, Session |
|
Dynamic Variable |
Yes |
|
Permitted Values |
||
Type |
boolean |
|
Default |
OFF |
当指定该选项时,服务器不使用ALTER TABLE操作的优化的处理方式。它恢复到像MySQL5.0和更早使用的方法一样,使用临时表,复制所有数据,再重命名临时表到原来的表名。关于ALTER TABLE操作的更多信息,参见12.7.7节“ALTER TABLE语法”。
Command-Line Format |
–old_passwords |
|
Option-File Format |
old-passwords |
|
Option Sets Variable |
Yes, old_passwords |
|
Variable Name |
old_passwords |
|
Variable Scope |
Global, Session |
|
Dynamic Variable |
Yes |
|
Permitted Values |
||
Type |
boolean |
|
Default |
FALSE |
强制服务器为新的密码产生短密码哈希(4.1以前)。当服务器必须保持兼容支持更老的客户端程序时,它将很有用。参见5.3.2.3节“MySQL中的密码哈希”
Command-Line Format |
–old-style-user-limits |
|
Option-File Format |
old-style-user-limits |
|
Permitted Values |
||
Type |
boolean |
|
Default |
FALSE |
允许旧式用户限制。(在MySQL 5.0.3以前,账户资源限制为每个连接的用户来自的主机单独计算,而不是user表中的每个账户行。)参见5.5.4节,“设置账户资源限制”。
Command-Line Format |
–one-thread |
Option-File Format |
one-thread |
只使用一个线程(用于Linux下调试)。该选项只有在允许调试下构建的服务器下可用。参见MySQL内部机制:移植。
在mySQL 5.6中,该选项过时并被删除。使用–thread_handling=no-threads来代替。
Command-Line Format |
–open-files-limit=# |
|
Option-File Format |
open-files-limit |
|
Option Sets Variable |
Yes, open_files_limit |
|
Variable Name |
open_files_limit |
|
Variable Scope |
Global |
|
Dynamic Variable |
No |
|
Permitted Values |
||
Type |
numeric |
|
Default |
0 |
|
Range |
0 .. 65535 |
改变mysqld可用的文件描述符数量。如果mysqld向你报Too many open files.错误,你应该尝试增加该选项的值。mysqld用该选项的值,用setrlimit()来保留文件描述符。如果请求的文件描述符数量不能被分配,mysqld记录一条警告到错误日志。
mysqld也许会尝试分配比请求的数量更多的文件描述符(如果可用的话),它使用max_connections和table_open_cache来估计是否将需要更多文件描述符。
Command-Line Format |
–partition |
|
Option-File Format |
partition |
|
Option Sets Variable |
Yes, have_partitioning |
|
Variable Name |
partition |
|
Variable Scope |
Global |
|
Dynamic Variable |
No |
|
Disabled by |
skip-partition |
|
Permitted Values |
||
Type |
boolean |
|
Default |
ON |
在MySQL服务器上启用或禁用用户定义分区的支持。
Command-Line Format |
–pid-file=file_name |
|
Option-File Format |
pid-file=file_name |
|
Option Sets Variable |
Yes, pid_file |
|
Variable Name |
pid_file |
|
Variable Scope |
Global |
|
Dynamic Variable |
No |
|
Permitted Values |
||
Type |
file name |
进程ID文件的路径名。除非给定了绝对路径来指定另外的目录,服务器在数据目录创建该文件。该文件用于其他程序,例如mysqld_safe,来确定服务器的进程ID。
指定一个涉及服务器插件的选项。例如,很多存储引擎可用被构建成插件,对于这些存储引擎,它们的选项可用带–plugin前缀的选项指定。因此,InnoDB的选项–innodb_file_per_table可以用–plugin-innodb_file_per_table来指定。
对于可用启用或禁用的布尔选项,–skip前缀和其他选择形式也同样被支持(参见4.2.3.2节“程序选项修饰符”)。例如,–skip-plugin-innodb_file_per_table禁用innodb_file_per_table。
使用–plugin前缀的理由是,如果插件和内建服务器选项有命名冲突的话,它使得插件选项能够被明确的指定。例如,一个插件的作者命名一个插件为”sql”并且实现一个”mode”选项,该选项名也许是–sql-mod,它将会和内建的同名选项冲突。在这样的例子中,引用冲突名字的选项优先解析为内建选项。要避免歧义,用户可以指定插件选项为–plugin-sql-mode。推荐为插件选项使用–plugin前缀以避免任何歧义问题。
Command-Line Format |
–plugin-load=plugin_list |
|
Option-File Format |
plugin-load=plugin_list |
|
Permitted Values |
||
Type |
string |
该选项告诉服务器在启动时加载指定名称的插件。选项值是分号分隔的一系列name=plugin_library键值对。每个name是插件的名称,plugin_library是包含插件代码的共享库名称。各个库文件必须在plugin_dir系统变量指定的目录下。例如,如果插件名为mylpug1和myplug2,对应的库文件为myplug1.so和myplug2.so,使用该选项来在启动时加载它们:
shell> mysqld –plugin-load=myplug1=myplug1.so;myplug2=myplug2.so
所有要加载的插件都必须在同一个–plugin-load选项中指定。如果指定了多个–plugin-load选项,只有最后的一个被使用。
如果指定一个插件库但前面不指定插件名称,服务器加载库中的所有插件。
每个插件只在mysqld的一次调用中被加载。在重启后,除非再次使用了–plugin-load选项,插件是不会加载的。它和INSTALL PLUGIN有区别,INSTALL PLUGIN向mysql.plugins表添加一条,使得插件在每次服务器正常启动时都会被加载。
在正常启动的情况下,服务器通过读取mysql.plugins系统表来确定加载哪些插件。如果服务器启动时指定了–skip-grant-tables选项,它不会查看mysql.plugins表,并且不会加载那里列出的插件。即使指定了–skip-grant-tables时,–plugin-load选项允许插件被加载。在插件不能在运行时加载时,–plugin-load选项允许在启动时加载插件。
关于插件加载的更多信息,参见5.1.7.1节“安装和卸载插件”
–port=port_num, -P port_num
Command-Line Format |
–port=# |
|
-P |
||
Option-File Format |
port |
|
Option Sets Variable |
Yes, port |
|
Variable Name |
port |
|
Variable Scope |
Global |
|
Dynamic Variable |
No |
|
Permitted Values |
||
Type |
numeric |
|
Default |
3306 |
监听TCP/IP连接时使用的端口号。除非是系统用户root启动的服务器,端口号必须大于等于1024。
Command-Line Format |
–port-open-timeout=# |
|
Option-File Format |
port-open-timeout |
|
Permitted Values |
||
Type |
numeric |
|
Default |
0 |
在某些操作系统上,当服务器停止时,TCP/IP端口也许不是立即就变为可用的。如果服务器稍后很快重启了,尝试重新打开端口可能失败。该选项说明服务器在端口不能打开的情况下,它应当等待TCP/IP端口重新变为空闲的秒数。默认是不等待。
Command-Line Format |
–remove [service_name] |
(仅Windows)删除一个Windows MySQL服务。如果没有指定service_name,默认的服务名是MySQL。更多信息参加2.3.6.7章“让MySQL作为Windows服务启动”。
Command-Line Format |
–safe-mode |
Option-File Format |
safe-mode |
Deprecated |
5.0 |
跳过某些优化步骤。
Version Removed |
5.5.3 |
||
Command-Line Format |
–safe-show-database |
(until 4.1.1) |
|
Option-File Format |
safe-show-database |
||
Variable Name |
safe_show_database |
||
Variable Scope |
Global |
||
Dynamic Variable |
Yes |
||
Deprecated |
4.0.2 |
||
Permitted Values |
|||
Type |
boolean |
该选项已经过时并且不起作用。因为现在有SHOW DATABASES权限可以用于根据账户控制对数据库名的访问。参见5.4.1节“MySQL提供的权限”。在MySQL5.5.3中–safe-show-database已经被删除。
Command-Line Format |
–safe-user-create |
|
Option-File Format |
safe-user-create |
|
Permitted Values |
||
Type |
boolean |
|
Default |
FALSE |
如果启用该选项,用户不能通过使用GRANT语句创建新的MySQL用户,除非该用户在mysql.user表或者该表的任意一列上有INSERT权限。如果你想要一个用户有创建拥有该用户能够赋权的权限的新用户的能力( If you want a user to have the ability to create new users that have those privileges that the user has the right to grant),你应该对这个用户授予以下权限:
GRANT INSERT(user) ON mysql.user TO 'user_name'@'host_name';
这可以保证该用户不能直接改变任何其他权限列,但是可以用GRANT语句将权限赋给其他用户。
Command-Line Format |
–secure-auth |
|
Option-File Format |
secure-auth |
|
Option Sets Variable |
Yes, secure_auth |
|
Variable Name |
secure_auth |
|
Variable Scope |
Global |
|
Dynamic Variable |
Yes |
|
Permitted Values |
||
Type |
boolean |
|
Default |
FALSE |
不允许客户端尝试使用旧密码(4.1以前的)用户账户进行认证。
Command-Line Format |
–secure-file-priv=path |
|
Option-File Format |
secure-file-priv=path |
|
Option Sets Variable |
Yes, secure_file_priv |
|
Variable Name |
secure-file-priv |
|
Variable Scope |
Global |
|
Dynamic Variable |
No |
|
Permitted Values |
||
Type |
string |
该选项限制LOAD_FILE()函数、LOAD DATA和SELECT … INTO OUTFILE语句只能在指定的目录下的文件中起作用。
允许本地客户端使用共享内存连接( shared-memory connections)。该选项仅在Windows上可用。
共享内存连接使用的名称。该选项仅用于windows。默认名称是MYSQL。名称区分大小写。
关闭在MyISAM表上同时进行选择和插入的功能。(该选项只用于当你认为你在该功能中发现了一个bug时。)参见7.10.3节“并发插入”
不使用外部锁定(操作系统锁)。它只影响对MyISAM表的访问。更多信息,包括在何种情况下能够或者不能够使用它,参见7.10.5节“外部锁定”。
从MySQL4.0开始,外部锁定默认是被禁用的。
Command-Line Format |
–skip-event-scheduler |
–disable-event-scheduler |
|
Option-File Format |
skip-event-scheduler |
关闭事件调度器。它和要求设置–event-scheduler=DISABLED的禁用事件调度器不同。更多信息,参见–event-scheduler选项。-
该选项导致服务器在完全不使用权限系统的情况下启动,它给予任何连接数据库的人无限制的访问所有数据库的权限。你可以通过操作系统shell中执行mysqladmin flush-privileges或者mysqladmin reload命令让一个正在运行的服务器重新开始使用授权表。或者在连接MySQL以后,发出FLUSH PRIVILEGES语句。该选项同样阻止通过INSTALL PLUGIN语句安装的插件加载,用户定义函数(UDFs)和计划事件(scheduled events)。要使插件无论如何都加载,使用–plugin-load选项。
如果MySQL编译时设置了DISABLE_GRANT_OPTIONS编译标志,–skip-grant-tables选项不可用。参见2.9.4节,“MySQL源码编译选项”
不使用内部的主机名缓存来加快主机名到IP的解析。使用每次客户端连接均查询DNS服务器代替。参见7.11.5.2节“MySQL如何使用DNS”。
禁用InnoDB存储引擎。在这种情况下,如果服务器的默认引擎被设置为InnoDB,服务器将无法启动。如果有必要,使用–default-storage-engine设置默认为某些其它存储引擎。
检查客户端连接时,不解析主机名。只使用IP地址。如果你使用该选项,授权表的所有的HOST列的值必须是IP地址或者localhost。参见7.11.5.2节“MySQL”
完全不监听TCP/IP连接。所有和mysqld的交互必须通过命名管道或共享内存(在windows上)或者Unix套接字文件(在Unix上)。在只允许本地客户端的系统上,高度推荐该选项。参见7.11.5.2节“MySQL如何使用DNS”
Command-Line Format |
–skip-partition |
–disable-partition |
|
Option-File Format |
skip-partition |
禁用用户定义分区。当服务器使用该选项启动时,已经存在的分区表无法访问。
–ssl*
以–ssl开头的选项指定了是否允许客户端使用SSL进行连接以及表明在哪里寻找SSL密钥和证书。参见5.5.8.3节“SSL命令行选项”
Command-Line Format |
–standalone |
Option-File Format |
standalone |
Platform Specific |
windows |
仅用于Windows,指示MySQL服务器不要以服务的方式运行。
在mySQL中,标准的大内存页应用尝试使用能支持的最大页面,最大4MB。在Solaris下,一个“超大页面”特性支持使用最大256M的页面。该特性在近期的SPARC平台上可用。它可以通过–super-large-pages或者-skip-super-large-pages选项启用或者禁用。
–symbolic-links, –skip-symbolic-links
Command-Line Format |
–symbolic-links |
Option-File Format |
symbolic-links |
启用或禁用符合链接支持。该选项在Windows和Unix上有不同效果。
在Windows上,启用符号链接使你可以通过建立一个包含到真实目录的路径的db_name.sym文件来建立一个到数据库目录的链接。参见7.11.3.1.3节“为Windows上的数据库使用符号链接”。
在Unix上,启用符号链接意味着你可以在CREATE TABLE语句中用INDEX DIRECTORY或者DATA DIRECTORY选项将一个MyISAM索引文件或者数据文件链接到另一个目录。如果你删除或者重命名表,符号链接指向的文件也被删除或重命名。参见7.11.3.1.2节“为在Unix上的表使用符号链接”
Version Removed |
5.5.6 |
Command-Line Format |
–skip-safemalloc |
Option-File Format |
skip-safemalloc |
在以前,如果MySQL编译配置了完整的调试支持,所有MySQL程序在每次分配内存和释放内存时均检查内存是否溢出。该检查非常慢,所以对某些服务器,当你不需要它时,你可以通过使用–skip-safemalloc选项避免该检查。
safemalloc,和该选项一起,在MySQL5.5.6中被删除。
Command-Line Format |
–skip-show-database |
Option-File Format |
skip-show-database |
Option Sets Variable |
Yes, skip_show_database |
Variable Name |
skip_show_database |
Variable Scope |
Global |
Dynamic Variable |
No |
使用该选项时,只有拥有SHOW DATABASES权限的用户才允许执行SHOW DATABASES语句,并且,该语句显示所有的数据库名。不使用该选项时,所有用户都允许执行SHOW DATABASES语句,但是只有用户在数据库有某些权限或者有SHOW DATABASES权限时,才显示每个数据库的名称。注意,对数据库,任何全局权限均被视为一个权限。
Command-Line Format |
–skip-stack-trace |
Option-File Format |
skip-stack-trace |
不输出堆栈跟踪。当你在调试器中运行mysqld时,该选项很有用。在某些系统上,你也必须使用该选项以获得一个核心文件。参见“MySQL内部:移植”。
Command-Line Format |
–skip-thread-priority |
Option-File Format |
skip-thread-priority |
Deprecated |
5.1.29 |
为了更快的响应时间,禁用线程优先级。在MySQL5.6中,该选项已经过时并被删除。
Command-Line Format |
–slow-query-log |
|
Option-File Format |
slow-query-log |
|
Option Sets Variable |
Yes, slow_query_log |
|
Variable Name |
slow_query_log |
|
Variable Scope |
Global |
|
Dynamic Variable |
Yes |
|
Permitted Values |
||
Type |
boolean |
|
Default |
OFF |
指定初始的慢查询日志状态。没有参数或者参数为1,–slow-query-log选项启用慢查询日志。如果忽略选项或者给定参数为0的选项,该选项禁用慢查询日志。
Version Introduced |
5.5.20 |
|
Command-Line Format |
–slow-start-timeout=# |
|
Option-File Format |
slow-start-timeout=# |
|
Permitted Values |
||
Type (windows) |
numeric |
|
Default |
15000 |
该选项控制Windows服务控制管理器的服务启动超时时间。它的值是,在启动服务时,服务控制器尝试杀掉windows服务前等待的最大毫秒数。默认值是15000(15秒)。如果MySQL服务需要太久时间启动,你可能需要增加该值。值为0表示没有超时时间。
Command-Line Format |
–socket=name |
|
Option-File Format |
socket |
|
Option Sets Variable |
Yes, socket |
|
Variable Name |
socket |
|
Variable Scope |
Global |
|
Dynamic Variable |
No |
|
Permitted Values |
||
Type |
file name |
|
Default |
/tmp/mysql.sock |
在Unix上,该选项指定监听本地连接时使用的Unix套接字文件。默认值是/tmp/mysql.sock。如果指定该选项,除非给定了绝对路径名以指定另外的目录,服务器在数据目录下创建该文件。在Windows上,该选项指定监听使用命名管道的本地连接时,使用的管道名称。默认值是MySQL(不区分大小写)。
Command-Line Format |
–sql-mode=name |
|
Option-File Format |
sql-mode |
|
Option Sets Variable |
Yes, sql_mode |
|
Variable Name |
sql_mode |
|
Variable Scope |
Global, Session |
|
Dynamic Variable |
Yes |
|
Permitted Values |
||
Type |
set |
|
Default |
” |
|
Valid Values |
ALLOW_INVALID_DATES ANSI_QUOTES ERROR_FOR_DIVISION_BY_ZERO HIGH_NOT_PRECEDENCE IGNORE_SPACE NO_AUTO_CREATE_USER NO_AUTO_VALUE_ON_ZERO NO_BACKSLASH_ESCAPES NO_DIR_IN_CREATE NO_ENGINE_SUBSTITUTION NO_FIELD_OPTIONS NO_KEY_OPTIONS NO_TABLE_OPTIONS NO_UNSIGNED_SUBTRACTION NO_ZERO_DATE NO_ZERO_IN_DATE ONLY_FULL_GROUP_BY PAD_CHAR_TO_FULL_LENGTH PIPES_AS_CONCAT REAL_AS_FLOAT STRICT_ALL_TABLES STRICT_TRANS_TABLES |
设置SQL模式。参见5.1.6节“服务器SQL模式”。
Command-Line Format |
–sysdate-is-now |
|
Option-File Format |
sysdate-is-now |
|
Permitted Values |
||
Type |
boolean |
|
Default |
FALSE |
SYSDATE()默认返回它执行时的时间,而不是出现它的语句开始执行时的时间。这一点和NOW()的行为不同。该选项导致SYSDATE()成为NOW()的同义词。关于对二进制日志和复制的影响的信息,参见11.7节“日期和时间函数”中SYSDATE()的描述,对SET TIMESTAMP的影响参见5.1.3节“服务器系统变量”。
Command-Line Format |
–tc-heuristic-recover=name |
|
Option-File Format |
tc-heuristic-recover |
|
Permitted Values |
||
Type |
enumeration |
|
Valid Values |
COMMIT RECOVER |
启发式 恢复进程中使用的决策种类。当前,该选项未被使用。
Command-Line Format |
–temp-pool |
|
Option-File Format |
temp-pool |
|
Permitted Values |
||
Type |
boolean |
|
Default |
TRUE |
该选项使得服务器创建的大部分临时文件使用一个小的名字集合,而不是为每个新文件使用一个唯一的名字。这能在Linux内核处理创建大量不同名称的新文件时的问题中起作用。(This works around a problem in the Linux kernel dealing with creating many new files with different names.)过去的表现是,Linux好像会“泄露”内存,因为它被分配到目录缓存而不是磁盘缓存中。除了在Linux上,该选项被忽略。
Command-Line Format |
–transaction-isolation=name |
|
Option-File Format |
transaction-isolation |
|
Option Sets Variable |
Yes, tx_isolation |
|
Permitted Values |
||
Type |
enumeration |
|
Valid Values |
READ-UNCOMMITTED READ-COMMITTED REPEATABLE-READ SERIALIZABLE |
设置默认事务隔离级别。level值可以是READ-UNCOMMITED,READ-COMMITED,REPEATEABLE-READ,或SERIALIZABLE,参见12.3.6节“设置事务语法”
默认的事务隔离级别也能够在运行中的服务上用SET TRANSACTION或者tx_isolation系统变量设置。
- –tmpdir=path, -t path
Command-Line Format |
–tmpdir=path |
|
-t |
||
Option-File Format |
tmpdir |
|
Option Sets Variable |
Yes, tmpdir |
|
Variable Name |
tmpdir |
|
Variable Scope |
Global |
|
Dynamic Variable |
No |
|
Permitted Values |
||
Type |
file name |
创建临时文件时使用的目录的路径。如果你的默认/tmp目录在一个太小以至于不能保存临时表的分区上,它可能会有用。该选项接受用round-robin方式使用的多个路径。在Unix上路径应该用冒号(“:”)分隔,在Windows上使用(“;”)。如果mysql服务器是作为复制的从机,你不应该设置–tmpdir指向基于内存的文件系统目录或者在服务器热重启时被清理的目录。更多关于临时文件存储位置的信息,参见C.5.4.4节“MySQL在哪里存储临时文件”。在机器重启时,一个复制从机需要它的某些临时文件以存活,从而它能够复制临时表或者LOAD DATA INFILE操作。如果临时文件目录中的文件在服务器重启时丢失,复制会失败。
- –user={user_name|user_id}, -u {user_name|user_id}
Command-Line Format |
–user=name |
|
-u name |
||
Option-File Format |
user |
|
Permitted Values |
||
Type |
string |
用名称是user_name或者用户ID是user_id的数值的用户运行mysqld。(上下文中的“用户”指的是操作系统登录账户,不是授权表中列出的MySQL用户。)当用root运行mysqld时,该选项是强制性的。服务器在启动阶段改变它的用户ID,导致它用一个具体的用户运行而不是用root运行。参见5.3.1节“一般性安全指南”。
要避免一个用户在my.cnt文件中添加–user=root选项的潜在安全漏洞(这导致服务器以root用户运行),mysqld仅使用第一个指定的–user选项,并且如果有多个–user选项将产生一个警告。在/etc/my.cnf和$MYSQL_HOME/my.cnf中的选项在命令行选项之前处理,因此建议你在/etc/my.cnf中放一个–user选项并且指定除root以外的值。在/etc/my.cnt中的这个选项在任何其它–user选项之前被找到,它保证了服务器用root之外的用户运行,而且如果有其它–user选项被找到会导致一个警告。
和–help选项一起使用该选项以获得详细帮助信息。
–version, -V
显示版本信息并退出。
你可以用过使用–var_name=value形式的选项来给服务器系统变量赋值。例如,–key_buffer_size=32M设置key_buffer_size变量的值为32MB。
当你给一个变量赋值时值得注意的是,MySQL可能会自动纠正给定值保持在指定的范围内,如果只允许某些值,调整给定值到最接近的允许的值。
如果你想给一个可以在运行时用set设置的变量限制最大值,你可以用–maximum-var_name=value命令行选项定义它。
你可以在运行中的服务器上用set语句改变大部分系统变量的值。参见12.7.4节“set语法”。
5.1.3节“服务器系统变量”提供了所有变量的完整描述以及在服务器启动时和运行时设置它们的更多信息。7.11.2节“调整服务器参数”包括了通过调整系统变量来优化服务器的信息。
转载请注明:爱开源 » MySQL5.5服务器命令选项中文版(服务器部分)