· --help,-?
显示简短的帮助消息并退出。使用--verbose和--help选项来看全部内容。
· --allow-suspicious-udfs
该选项控制是否用户定义的函数只有一个xxx符,用作可载入的主函数。默认情况下,该选项被关闭,只有至少有一个附属符的UDF 可以载入。
这样可以防止从未包含合法UDF的共享文件装载函数。
· --ansi
使用标准(ANSI)SQL语法代替MySQL语法。参见1.8.3节,“在ANSI模式下运行MySQL”。使用--sql-mode选项可以更精确控制服务器SQL模式。
· --basedir=path, -b path
MySQL安装目录的路径。通常所有路径根据该路径来解析。
· --bind-address=IP
待绑定的IP地址。
· --bootstrap
mysql_install_db脚本使用该选项来创建MySQL授权表,不需要启动MySQL服务器。
· --console
将错误日志消息写入stderr和stdout,即使指定了--log-error。在Windows中,如果使用该选项,mysqld不关闭控制台窗口。
· --character-sets-dir=path
字符集安装的目录。
· --chroot=path
通过chroot()系统调用在启动过程中将mysqld服务器放入一个封闭环境中。这是推荐的一个安全措施。请注意使用该选项可以 限制LOAD DATA
INFILE和SELECT ... INTO OUTFILE。
· --character-set-server=charset
使用charset作为 默认服务器字符集。
· --core-file
如果mysqld终止,写内核文件。在某些系统中,你还必须为mysqld_safe指定--core-file-size 选项。本”。请注意对于一些系统,例如Solaris,如果你使用--user选项不会获得内核文件。
· --collation-server=collation
使用collation作为 默认服务器校对规则。
· --datadir=path, -h path
数据目录的路径。
· --debug[=debug_options], -# [debug_options]
如果MySQL配置了--with-debug,你可以使用该选项来获得一个跟踪文件,跟踪mysqld正进行的操作。debug_options字符串通常为'd:t:o,file_name'。
· (DEPRECATED) --default-character-set=charset
使用char设置作为 默认字符集。由于--character-set-server,反对使用该选项。
· --default-collation=collation
使用collation 作为默认校对规则。由于--collation-server,反对使用该选项。
· --default-storage-engine=type
该选项为--default-table-type的同义词。
· --default-table-type=type
设置表的默认类型。
· --default-time-zone=type
设置默认服务器时区。该选项设置全局time_zone系统变量。如果未给出该选项, 默认时区与系统时区相同(用system_time_zone系统变量值给定)。
· --delay-key-write[= OFF | ON | ALL]
如何使用DELAYED KEYS选项。键写入延迟会造成再次写MyISAM表时键缓冲区不能被清空。OFF禁用延迟的键写入。ON启用用DELAYED KEYS选项
创建的表的延迟的键写入。ALL延迟所有MyISAM表的键写入。
注释:如果你将该变量设置为ALL,你不应从另一个正使用MyISAM表的程序中使用MyISAM表(例如从另一个MySQL服务器或用myisamchk)。这样
操作会导致索引破坏。
· --des-key-file=file_name
从该文件读DES_ENCRYPT()和DES_DECRYPT()使用的 默认键。
· --enable-named-pipe
启用命名管道支持。该选项只适用Windows NT、2000、XP和2003系统,并且只适用支持命名管道连接的mysqld-nt和mysqld-max-nt服务器。
· --exit-info[=flags], -T [flags]
这是不同标志的一个位掩码,你可以用来调试mysqld服务器。不要使用该选项,除非你确切知道它在做什么!
· --external-locking
启用系统锁定。请注意如果你在lockd不能完全工作的系统上使用该选项(例如在Linux中),mysqld容易死锁。该选项以前叫--enable-locking。
注释:如果你在许多MySQL进程中使用该选项来更新MyISAM表,你必须确保满足下述条件:
o 使用正被另一个进程更新的表的查询的缓存不可使用。
o 不应在共享表中使用--delay-key-write=ALL或DELAY_KEY_WRITE=1。
最简单的方法是结合使用--external-locking和--delay-key-write=OFF --query-cache-size=0。
(默认不能实现,因为在许多设置中,结合使用上述选项很有用)。
· --flush
执行SQL语句后向硬盘上清空更改。一般情况执行SQL语句后 MySQL向硬盘写入所有更改,让操作系统处理与硬盘的同步。
· --init-file=file
启动时从该文件读SQL语句。每个语句必须在同一行中并且不应包括注释。
· --language=lang_name, -L lang_name
用给定语言给出客户端错误消息。lang_name可以为语言名或语言文件安装目录的全路径名。
· --large-pages
一些硬件/操作系统架构支持大于 默认值(通常4 KB)的内存页。实际支持取决于使用的硬件和OS。大量访问内存的应用程序通过使用较大的页,
降低了Translation Lookaside Buffer (TLB)损失,可以改善性能。
目前,MySQL只在Linux中支持大页面(在Linux中被称作HugeTLB)。我们已经计划将该支持扩展到FreeBSD、Solaris和其它可能的平台。
在Linux中可以使用大页面前,需要配置HugeTLB内存池。参考Linux内核源码中的hugetlbpage.txt文件。
默认情况下该选项被禁用。
· ---log[=file], -l [file]
日志连接和对文件的查询。如果你不指定文件名,MySQL使用host_name.log作为文件名。
· --log-bin=[file]
二进制日志文件。将更改数据的所有查询记入该文件。用于备份和复制。建议指定一个文件名,否则MySQL使用host_name-bin作为日志文件基本名。
· --log-bin-index[=file]
二进制日志文件名的索引文件。如果你不指定文件名,并且如果你没有在--log-bin中指定,MySQL使用host_namebin.
index作为文件名。
· --log-bin-trust-routine-creators[={0|1}]
没有参数或参数为1,该选项将系统变量log_bin_trust_routine_creators设置为1。为参数 0时,该选项将系统变量设置为0。log_bin_trust_routine_creators影响
MySQL如何对保存的程序的创建强加限制。
· --log-error[=file]
该文件的日志错误和启动消息。如果你不指定文件名,MySQL使用host_name.err作为文件名。如果文件名没有扩展名,则加上.err扩展名。
· --log-isam[=file]
将所有MyISAM更改记入该文件(只有调试MyISAM时才使用)。
· (DEPRECATED) --log-long-format
记录激活的更新日志、二进制更新日志、和慢查询日志的大量信息。例如,所有查询的用户名和时间戳将记录下来。不赞成选用该选项,因为它
现在代表 默认记录行为。(参见--log-short-format描述)。--log-queries-not-using-indexes选项适合将未使用索引的查询记录到慢查询日志中。
· --log-queries-not-using-indexes
如果你结合--log-slow-queries使用该选项,未使用索引的查询也被记录到慢查询日志中。· --log-short-format
记录激活的更新日志、二进制更新日志、和慢查询日志的少量信息。例如,用户名和时间戳不记录下来。
· ---log-slow-admin-statements
将慢管理语句例如OPTIMIZE TABLE、ANALYZE TABLE和ALTER TABLE记入慢查询日志。
· --log-slow-queries[=file]
将所有执行时间超过long_query_time 秒的查询记入该文件。参见5.11.4节,“慢速查询日志”。详细信息参见--log-long-format和--log-short-format选项描述。
· --log-warnings, -W
将警告例如Aborted connection...打印到错误日志。建议启用该选项,例如,如果你使用复制 (你可以得到关于所发生事情的详细信息,例如关于网络
故障和重新连接的消息)。默认情况下启用该选项;要想禁用它,使用--skip-log-warnings。中断的连接不会记入错误日志,除非值大于1。
· --low-priority-updates
表修改(INSERT, REPLACE, DELETE, UPDATE)比选择的优先级要低。也可以通过{INSERT | REPLACE | DELETE | UPDATE} LOW_PRIORITY ... 来降低某个查
询的优先级来实现,或通过SET LOW_PRIORITY_UPDATES=1来更改一个线程的优先级。
· --memlock
将mysqld 进程锁定在内存中。在支持mlockall()系统调用的系统上有效,例如Solaris。如果操作系统使mysqld在硬盘上交换时出现问题,可以为你提
供帮助。请注意使用该选项时需要以root运行服务器,但从安全考虑并不是一个好注意。
· --myisam-recover [=option[,option...]]]
将存储引擎MyISAM设置为恢复模式。该选项值是DEFAULT、BACKUP、FORCE或QUICK值的任何组合。如果你指定多个值,用逗号间隔开。你还
可以使用""值来禁用该选项。使用如果该选项,当mysqld打开MyISAM表时,检查是否表标记为崩溃或没有正确关闭。(只有用--skip-externallockingare
运行时,最后的选项才工作)。 如果是这种情况,mysqld则检查 表。如果表被破坏,mysqld试图维护它。
下面的选项影响维护工作:
选项描述
DEFAULT 与没有使用--myisam-recover选项相同。
BACKUP 如果在恢复过程中,数据文件被更改了,将tbl_name.MYD文件备份为tbl_name-datetime.BAK。
FORCE 即使.MYD文件将丢掉多个行也进行恢复。
QUICK 如果没有删除块,不要检查表中的行。
在表自动修复前,MySQL错误日志添加一条注解。如果你不想用户干涉干涉大多数问题,你应使用BACKUP,FORCE选项。该选项强制维护表,即
使一些行将会被删除也不例外,但它保持旧的数据文件做为备份,以便你可以在后来进行检查。
· --ndb-connectstring=connect_string
当使用NDB存储引擎时,可以指出通过设置连接字符串选项来分发群集配置的管理服务器。
· --ndbcluster
如果二进制支持NDB CLUSTER存储引擎,使用该选项可以代替禁用MySQL Cluster支持的 默认设置。· --old-passwords
强制服务器为新密码生成短(4.1前)密码哈希。如果服务器必须支持旧客户端程序,为保证兼容性这很有用。
· --one-thread
只使用一个线程(用于在Linux中调试)。只有服务器启用了调试,该选项才可用。
· --open-files-limit=count
用来更改mysqld文件描述符的数量。如果没有设置或设置为0,则mysqld通过setrlimit()使用该值来保存文件描述符。如果该值为0,则mysqld 保存
max_connections*5或max_connections + table_cache*2(取较大者)个文件。如果mysqld给出你错误"打开的文件太多。",你应试试增加该值。
· --pid-file=path
mysqld_safe使用的进程ID文件的路径。
· --port=port_num, -P port_num
帧听TCP/IP连接时使用的端口号。
· --safe-mode
跳过一些优化阶段。
· (DEPRECATED) --safe-show-database
· --safe-user-create
启用后如果用户没有mysql.user表或表中列的INSERT权限,则用户不能用GRANT语句创建新用户。
· --secure-auth
不允许使用旧(4.1之前)密码的账户进行鉴定。
· --shared-memory
启用本地客户端的共享内存连接。该选项只用于Windows。
· --shared-memory-base-name=name
共享内存连接名。该选项只用于Windows。
· --skip-bdb
禁用BDB存储引擎。这样可以节省内存,并可能加速某些操作。如果你需要BDB表则不要使用该选项。
· --skip-concurrent-insert
关闭在同一时间在MyISAM表中选择和插入的能力。(只有你发现缺陷时才使用该选项)。
· --skip-external-locking
不要使用系统锁定。要想使用myisamchk,你必须关闭服务器。要避免该需求,使用MySQL Monitor中的
CHECK TABLE和REPAIR TABLE来检查并维护MyISAM表。
· --skip-grant-tables
该选项使服务器不使用权限系统。该权限允许访问服务器的用户不受限制地访问所有数据库。你可以从系统外壳命令行执行mysqladmin flushprivileges
或mysqladmin reload命令,或执行MySQL FLUSH PRIVILEGES语句让运行的服务器重新开始使用 授权表。
· --skip-host-cache
为了更快地在名称-IP之间进行解析,不要使用内部主机名缓存。相反,每次客户端连接时查询DNS服务器。
· --skip-innodb
禁用InnoDB存储引擎。这样可以节省内存,并可能加速某些操作。如果你需要BDB表则不要使用该选项。
· --skip-name-resolve
不要解析正检查客户端连接的主机名。只使用IP号。如果你使用该项, 授权表中的所有Host列值必须为IP号或localhost。
· --skip-ndbcluster
禁用NDB CLUSTER存储引擎。这是支持NDB CLUSTER存储引擎的二进制的默认设置,说明只有用--ndbcluster选项显式覆盖--skip-ndbcluster选项时,系
统才为该存储引擎分配内存和其它资源。
· --skip-networking
不帧听TCP/IP连接。必须通过命名管道或共享内存(在Windows中)或Unix套接字文件(在Unix中)完成mysqld的相互操作。对于只允许本地客户端的
系统,大力推荐该选项。
· --standalone
只适合基于Windows-NT的系统;指导MySQL服务器不做为服务来运行。
· --symbolic-links, --skip-symbolic-links
启用或禁用符号链接支持。在Windows和Unix中,该选项的作用是不同的:
o 在Windows中,启用符号链接,你可以通过创建包含实际目录路径的directory.sym文件来建立数据库目录的符号链接。
节,“在Windows平台上使用关于数据库的符号链接”。
在Unix中,启用符号链接表示你可以用CREATE TABLE语句的INDEX DIRECTORY或DATA DIRECTORY选项将MyISAM索引文件或数据文件链接到另一个目
录。如果你删除或重新命名表,符号链接所指的文件也被删除或重新命名。
· --skip-safemalloc
如果MySQL配置了--with-debug=full,所有MySQL程序在内存分配和释放时检查内存是否溢出。检查很慢,因此如果你不需要你可以用--skipsafemalloc
选项来避免。
· --skip-show-database
使用该选项,只允许具有SHOW DATABASES权限的用户执行SHOW DATABASES语句,该语句显示所有数据库名。不使用该选项,允许所有用户执
行SHOW DATABASES,但只向具有SHOW DATABASES权限或部分数据库权限的用户显示每个数据库名。请注意全局权限为数据库的一种权限。
· --skip-stack-trace
不跟踪写堆栈。当调试运行mysqld时该选项有用。在一些系统中,你还必须使用该选项来获得内核文件。
· --skip-thread-priority
在快速响应中禁用线程优先级。
· --socket=path
在Unix中,该选项指定用于本地连接的Unix套接字文件。 默认值是/tmp/mysql.sock。在Windows中,该选项指定本地连接所使用的管道名。 默认值
是MySQL。
· --sql-mode=value[,value[,value...]]
将MySQL设置为SQL模式。
· --temp-pool
该选项使服务器创建的大多数临时文件使用一系列文件名,而不是每个新文件使用唯一的文件名。这样解决了在Linux内核中用 不同的名创建许
多新文件的问题。在以前,Linux似乎“泄漏”内存,因为它被直接分配到directory entry缓存而不是硬盘缓存。
· --transaction-isolation=level
设置默认事务隔离级别,可以READ-UNCOMMITTED、READ-COMMITTEE、REPEATABLE-READ或SERIALIZABLE。
· --tmpdir=path, -t path
创建临时文件的目录路径。默认/tmp目录在太小不能容纳临时表的分区时该选项很有用。该选项接受round-robin模式的几个路径。在Unix中路径
应用冒号(‘:’) 间隔开,在Windows、NetWare和OS/2中用分号(‘;’) 间隔开。如果MySQL服务器为复制从机,你不应让--tmpdir指向基于内存
的文件系统中的目录或服务器主机重启时会清除的目录。复制从机需要临时文件,机器重启时可以复制临时表或执行LOAD DATA INFILE操作。如
果服务器重启时临时文件目录中的文件丢失,复制失败。
· --user={user_name | user_id}, -u {user_name | user_id}
用user_name或数字用户ID user_id运行mysqld服务器。(“用户”指系统登录账户,而不是 授权表中所列的MySQL用户)。
用root启动mysqld时强制使用该选项。服务器在启动序列中更改用户ID,让它做为具体用户而不是root运行。
要避免用户在my.cnf文件中添加--user=root选项(使服务器用root运行)时可能出现的安全漏洞,mysqld只使用指定的第1个--user选项,如果有多个--user
选项则会出现警告。在命令行选项前处理/etc/my.cnf和$MYSQL_HOME/my.cnf中的选项,因此建议你在/etc/my.cnf中放一个--user选项,并指定root之外
的其它值。在其它--user选项前先找到/etc/my.cnf中的选项,确保服务器用其它用户运行,如果找到其它--user选项则会出现警告。
· --version, -V
显示版本信息并退出。