MySQL的支持下面的选项,可以在命令行或在指定 [mysql]
与[client]
一个选项文件的组。有关MySQL程序使用的选项文件的信
表4.8 mysql选项
格式 | 描述 | 介绍 | 删除 |
---|---|---|---|
--auto-翻版 | 启用自动重新哈希 | ||
--auto垂直输出 | 启用自动垂直结果集显示 | ||
- 批量 | 不要使用历史文件 | ||
--binary-AS - 己 | 以十六进制表示法显示二进制值 | 8.0.2 | |
--binary模式 | 禁用\ r \ n - 将\ 0的翻译和处理作为查询结束 | ||
--bind地址 | 使用指定的网络接口连接到MySQL服务器 | ||
--character集-DIR | 安装字符集的目录 | ||
--column-名 | 在结果中写入列名称 | ||
--column型信息 | 显示结果集元数据 | ||
- 注释 | 是否在发送到服务器的语句中保留或删除注释 | ||
- 压缩 | 压缩客户端和服务器之间发送的所有信息 | ||
--connect过期密码 | 向服务器表明客户端可以处理过期密码沙盒模式。 | ||
--connect_timeout | 连接超时前的秒数 | ||
- 数据库 | 要使用的数据库 | ||
--debug | 编写调试日志; 只有在MySQL调试支持的情况下才支持 | ||
--debug检查 | 程序退出时打印调试信息 | ||
- 调试信息 | 打印程序退出时的调试信息,内存和CPU统计信息 | ||
--default-AUTH | 身份验证插件使用 | ||
--default-字符集 | 指定默认字符集 | ||
--defaults-额外文件 | 除了通常的选项文件外,还可以读取已命名的选项 | ||
--defaults文件 | 只读取命名的选项文件 | ||
--defaults基团的后缀 | 选项组后缀值 | ||
对齐和美化--delimiter | 设置语句分隔符 | ||
--enable-明文-插件 | 启用明文身份验证插件 | ||
- 执行 | 执行语句并退出 | ||
- 力 | 即使发生SQL错误也继续 | ||
--get-服务器的公钥 | 从服务器请求RSA公钥 | 8.0.3 | |
- 帮帮我 | 显示帮助信息并退出 | ||
--histignore | 指定要记录的忽略哪些语句的模式 | ||
- 主办 | 连接到给定主机上的MySQL服务器 | ||
--html | 生成HTML输出 | ||
- 忽略空间 | 忽略函数名称后的空格 | ||
--init命令 | 连接后执行的SQL语句 | ||
--line号码 | 编写错误的行号 | ||
--local-infile的 | 启用或禁用LOAD DATA INFILE的LOCAL功能 | ||
--login路径 | 阅读.mylogin.cnf中的登录路径选项 | ||
--max_allowed_packet | 发送到服务器或从服务器接收的最大数据包长度 | ||
--max_join_size | 使用--safe-updates时自动限制联接中的行 | ||
--named的命令 | 启用命名的mysql命令 | ||
--net_buffer_length | TCP / IP和套接字通信的缓冲区大小 | ||
--no-自动翻版 | 禁用自动重新哈希 | ||
--no哔 | 发生错误时不要发出哔哔声 | ||
--no-默认 | 不读取任何选项文件 | ||
--one数据库 | 忽略除命令行上命名的默认数据库的语句之外的语句 | ||
--pager | 使用给定的命令进行分页查询输出 | ||
- 密码 | 连接到服务器时使用的密码 | ||
- 管 | 在Windows上,使用命名管道连接到服务器 | ||
--plugin-DIR | 安装插件的目录 | ||
- 港口 | 用于连接的TCP / IP端口号 | ||
--print-默认 | 打印默认选项 | ||
- 提示 | 将提示设置为指定的格式 | ||
- 协议 | 使用连接协议 | ||
- 快 | 不要缓存每个查询结果 | ||
- 生的 | 无需转义转换即可写入列值 | ||
--reconnect | 如果与服务器的连接丢失,请自动尝试重新连接 | ||
- 我是假人,- 安全更新 | 只允许指定键值的UPDATE和DELETE语句 | ||
--secure-auth的 | 不要以旧(4.1以前)格式向服务器发送密码 | 8.0.3 | |
--select_limit | 使用--safe-updates时自动限制SELECT语句 | ||
--server-公钥路径 | 包含RSA公钥的文件的路径名称 | ||
--shared存储器碱基名 | 用于共享内存连接的共享内存的名称 | ||
--show-警告 | 如果有任何陈述,在每个陈述后显示警告 | ||
--sigint,忽视 | 忽略SIGINT信号(通常是键入Control + C的结果) | ||
- 无声 | 静音模式 | ||
--skip-自动翻版 | 禁用自动重新哈希 | ||
--skip-列名 | 不要在结果中写入列名 | ||
--skip-行号 | 跳过行号查找错误 | ||
--skip-命名命令 | 禁用命名的mysql命令 | ||
--skip-寻呼机 | 禁用分页 | ||
--skip-重新连接 | 禁用重新连接 | ||
- 插座 | 用于连接到本地主机,Unix套接字文件或Windows命名管道使用 | ||
--ssl-CA | 包含可信SSL证书颁发机构列表的文件 | ||
--ssl-capath | 包含可信SSL证书颁发机构证书文件的目录 | ||
--ssl证书 | 包含X509证书的文件 | ||
--ssl-密码 | 允许连接加密的密码列表 | ||
--ssl-CRL | 包含证书吊销列表的文件 | ||
--ssl-crlpath | 包含证书撤销列表文件的目录 | ||
--ssl键 | 包含X509密钥的文件 | ||
--ssl模式 | 连接到服务器的安全状态 | ||
--syslog | 将交互式语句记录到syslog | ||
- 表 | 以表格格式显示输出 | ||
--tee | 将输出的副本附加到指定的文件 | ||
--tls版本 | 允许加密连接的协议 | ||
--unbuffered | 每次查询后刷新缓冲区 | ||
- 用户 | 连接到服务器时使用的MySQL用户名 | ||
--verbose | 详细模式 | ||
- 版 | 显示版本信息并退出 | ||
- 垂直 | 垂直打印查询输出行(每列值一行) | ||
- 等待 | 如果无法建立连接,请等待并重试,而不是中止 | ||
--xml | 生成XML输出 |
--help
,-?
显示帮助信息并退出。
启用自动重新哈希。该选项默认打开,它启用数据库,表和列名称完成。使用
--disable-auto-rehash
禁用换汤不换药。这会导致mysql 启动速度更快,但如果要使用名称完成,则必须发出该rehash
命令或其\#
快捷方式。要完成名称,请输入第一部分并按Tab键。如果名字是明确的,那么mysql会完成它。否则,您可以再次按Tab键查看以您输入的内容开头的可能名称。如果没有默认数据库,则不会发生完成。
注意该功能需要一个与readline库一起编译的MySQL客户端。通常,readline 库在Windows上不可用。
--auto-vertical-output
如果结果集对于当前窗口来说太宽,则会导致垂直显示,否则使用普通表格格式。(这适用于由
;
或终止的语句\G
。)--batch
,-B
使用选项卡作为列分隔符打印结果,每行放在一个新行中。使用这个选项, mysql不会使用历史文件。
批处理模式导致非表格输出格式和特殊字符的转义。通过使用原始模式可能会禁用转义; 请参阅该
--raw
选项的说明 。--binary-as-hex
,-b
当给出这个选项时,mysql使用十六进制符号()显示二进制数据。无论整体输出展示格式是表格式,垂直式,HTML还是XML,都会发生这种情况。
0x
value
此选项有助于处理 可能包含值的mysqlbinlog输出
BLOB
。默认情况下, MySQL的转换\r\n
在声明中串\n
并解释\0
作为语句终止符。--binary-mode
禁用这两个功能。它还禁止所有的MySQL 除了命令charset
和delimiter
在非交互式模式(输入管道输送到的MySQL或使用所加载的source
命令)。在具有多个网络接口的计算机上,使用此选项选择用于连接到MySQL服务器的接口。
安装字符集的目录。请参见 第10.14节“字符集配置”。
在结果中写入列名称。
显示结果集元数据。
--comments
,-c
是否在发送到服务器的语句中去除或保留注释。默认值是
--skip-comments
(带注释),启用--comments
(保留注释)。--compress
,-C
压缩客户端和服务器之间发送的所有信息(如果两者均支持压缩)。
如果用于连接的帐户具有过期的密码,则向服务器指示客户端可以处理沙盒模式。这对于非交互式调用mysql非常有用, 因为通常服务器会断开尝试使用具有过期密码的帐户进行连接的非交互式客户端。(请参见 第6.3.9节“服务器处理过期密码”。)
--database=
,db_name
-D
db_name
要使用的数据库。这主要用于选项文件。
--debug[=
,debug_options
]-# [
debug_options
]编写一个调试日志。一个典型的
debug_options
字符串是 。默认是。d:t:o,
file_name
d:t:o,/tmp/mysql.trace
只有在使用MySQL构建时,此选项才可用
WITH_DEBUG
。Oracle提供的MySQL发行版二进制文件不是 使用此选项构建的。程序退出时打印一些调试信息。
--debug-info
,-T
在程序退出时打印调试信息和内存以及CPU使用情况统计信息。
关于使用客户端身份验证插件的提示。请参见第6.3.10节“可插入认证”。
--default-character-set=
charset_name
使用
charset_name
作为客户端和连接的默认字符集。如果操作系统使用一个字符集,并且默认情况下mysql客户端使用另一个字符集,则此选项非常有用。在这种情况下,输出格式可能不正确。您通常可以通过使用此选项来强制客户端使用系统字符集来解决此类问题。
有关更多信息,请参见 第10.4节“连接字符集和排序规则”和 第10.14节“字符集配置”。
--defaults-extra-file=
file_name
在全局选项文件之后读取此选项文件,但在用户选项文件之前(在Unix上)。如果文件不存在或无法访问,则会发生错误。
file_name
如果作为相对路径名而非完整路径名给出,则相对于当前目录进行解释。只使用给定的选项文件。如果文件不存在或无法访问,则会发生错误。
file_name
如果作为相对路径名而非完整路径名给出,则相对于当前目录进行解释。例外:即使
--defaults-file
读取客户端程序.mylogin.cnf
。不仅要阅读常用选项组,还要阅读具有常用名称和后缀的组
str
。例如, mysql通常读取[client]
和[mysql]
组。如果--defaults-group-suffix=_other
给出选项,mysql也读取[client_other]
和[mysql_other]
组。设置语句分隔符。默认值是分号字符(
;
)。禁用命名命令。
\*
仅使用表格,或者仅在以分号(;
)结尾的行的开头使用命名命令。 mysql默认启用此选项 。但是,即使使用此选项,长格式命令仍然可以从第一行开始工作。请参见第4.5.1.2节“mysql命令”。启用
mysql_clear_password
明文身份验证插件。(请参见 第6.5.1.4节“客户端明文可插入验证”。)--execute=
,statement
-e
statement
执行语句并退出。默认的输出格式就像使用
--batch
。有关示例,请参见 第4.2.4节“在命令行上使用选项”。使用这个选项,mysql不会使用历史文件。--force
,-f
即使发生SQL错误也继续。
从服务器请求基于RSA密钥对的密码交换所需的公钥。此选项适用于使用
caching_sha2_password
身份验证插件进行身份验证的客户端 。对于那个插件,除非请求,服务器不会发送公钥。对于不使用该插件进行身份验证的帐户,此选项将被忽略。如果不使用基于RSA的密码交换,它也会被忽略,例如当客户端使用安全连接连接到服务器时。如果 给出并指定了有效的公钥文件,则优先于 。
--server-public-key-path=
file_name
--get-server-public-key
有关该
caching_sha2_password
插件的信息 ,请参见 第6.5.1.3节“缓存SHA-2可插入验证”。用于指定为了记录目的而忽略的语句的一个或多个模式的以冒号分隔的列表。这些模式被添加到默认模式列表(
"*IDENTIFIED*:*PASSWORD*"
)中。为此选项指定的值影响写入历史记录文件的语句的日志记录,以及syslog
是否--syslog
给出选项。有关更多信息,请参见第4.5.1.3节“mysql日志记录”。--host=
,host_name
-h
host_name
连接到给定主机上的MySQL服务器。
--html
,-H
生成HTML输出。
--ignore-spaces
,-i
忽略函数名称后的空格。这一点的效果在
IGNORE_SPACE
SQL模式的讨论中进行了描述 (请参见 第5.1.8节“服务器SQL模式”)。连接到服务器后执行的SQL语句。如果启用自动重新连接,则在重新连接发生后,语句会再次执行。
编写错误的行号。禁用此
--skip-line-numbers
。启用或禁用
LOCAL
的能力LOAD DATA INFILE
。对于mysql,默认情况下禁用此功能。没有价值,该选项启用LOCAL
。该选项可以作为--local-infile=0
或--local-infile=1
明确禁用或启用LOCAL
。启用本地数据加载还要求服务器允许它; 请参见 第6.1.6节“LOAD DATA LOCAL的安全问题”从
.mylogin.cnf
登录路径文件中的指定登录路径读取选项 。阿 “ 登录路径 ”是含有指定要连接到哪个MySQL服务器和选项哪个帐户作为认证选项组。要创建或修改登录路径文件,请使用 mysql_config_editor实用程序。请参见 第4.6.7节“ mysql_config_editor - MySQL配置实用程序”。--named-commands
,-G
启用命名的mysql命令。长格式命令是允许的,而不仅仅是短格式命令。例如,
quit
并且\q
两者都认可。使用--skip-named-commands
禁用命名的命令。请参见 第4.5.1.2节“mysql命令”。--no-auto-rehash
,-A
这与之相同
--skip-auto-rehash
。请参阅说明--auto-rehash
。--no-beep
,-b
发生错误时不要发出哔哔声。
不要阅读任何选项文件。如果由于从选项文件读取未知选项而导致程序启动失败,
--no-defaults
可用于防止读取它们。例外是
.mylogin.cnf
在任何情况下读取文件(如果存在)。这允许以比使用命令行更安全的方式来指定密码,即使在--no-defaults
使用时也是如此。(.mylogin.cnf
由mysql_config_editor实用程序创建,请参见 第4.6.7节“ mysql_config_editor - MySQL配置实用程序”。)--one-database
,-o
除了那些默认数据库是在命令行中命名的数据库以外的语句,忽略语句。这个选项是基本的,应该小心使用。语句筛选仅基于
USE
语句。最初,mysql在输入中执行语句,因为
db_name
在命令行上指定数据库相当于在输入的开始处插入 数据库 。然后,对于遇到的每个 语句, mysql将接受或拒绝以下语句,具体取决于命名数据库是否是命令行上的语句。声明的内容并不重要。USE
db_name
USE
假设调用mysql来处理这组语句:
DELETE FROM db2.t2; USE db2; DROP TABLE db1.t1; CREATE TABLE db1.t1 (i INT); USE db1; INSERT INTO t1 (i) VALUES(1); CREATE TABLE db2.t1 (j INT);
如果命令行是mysql --force --one-database db1,则mysql按如下方式处理输入:
该
DELETE
执行语句,因为默认数据库是db1
,即使语句定义一个表在不同的数据库。该
DROP TABLE
和CREATE TABLE
语句不被执行,因为默认数据库不db1
,即使语句命名的表db1
。该
INSERT
和CREATE TABLE
语句执行,因为默认数据库db1
,即使CREATE TABLE
声明名字在不同的数据库中的表。
使用给定的命令进行分页查询输出。如果省略该命令,则默认寻呼机是
PAGER
环境变量的值 。有效的寻呼机更少,更多, 猫[>文件名],等等。该选项仅适用于Unix,并且只能在交互模式下使用。要禁用分页,请使用--skip-pager
。 第4.5.1.2节“mysql命令”进一步讨论了输出分页。--password[=
,password
]-p[
password
]连接到服务器时使用的密码。如果使用short option form(
-p
), 则在选项和密码之间不能有空格。如果你省略命令行中password
的--password
or-p
选项后面的 值 , mysql会提示输入一个值。在命令行中指定密码应被视为不安全。请参见 第6.1.2.1节“密码安全的最终用户指南”。您可以使用选项文件来避免在命令行上输入密码。
--pipe
,-W
在Windows上,使用命名管道连接到服务器。该选项仅适用于服务器支持命名管道连接的情况。
在其中查找插件的目录。如果该
--default-auth
选项用于指定认证插件,但 mysql没有找到它,请指定此选项。请参见 第6.3.10节“可插入认证”。--port=
,port_num
-P
port_num
用于连接的TCP / IP端口号。
打印程序名称以及从选项文件中获取的所有选项。
将提示设置为指定的格式。默认是
mysql>
。第4.5.1.2节“mysql命令”中介绍了提示可以包含的特殊序列 。--protocol={TCP|SOCKET|PIPE|MEMORY}
用于连接到服务器的连接协议。当其他连接参数通常会导致使用的协议不是您想要的协议时,这很有用。有关允许值的详细信息,请参见 第4.2.2节“连接到MySQL服务器”。
--quick
,-q
不要缓存每个查询结果,按收到的每行打印。如果输出被暂停,这可能会降低服务器的速度。使用这个选项,mysql不会使用历史文件。
--raw
,-r
对于表格输出,围绕列的“ 装箱 ”可以将一列值与另一列值区分开来。对于非表格输出(例如在批处理模式下或在给出
--batch
或--silent
选项时),特殊字符会在输出中转义以便轻松识别。换行,制表符,NUL
和反斜杠被写为\n
,\t
,\0
,和\\
。该--raw
选项禁用此字符转义。以下示例演示了表格与非表格输出以及使用原始模式禁用转义:
% mysql mysql> SELECT CHAR(92); +----------+ | CHAR(92) | +----------+ | \ | +----------+ % mysql -s mysql> SELECT CHAR(92); CHAR(92) \\ % mysql -s -r mysql> SELECT CHAR(92); CHAR(92) \
如果与服务器的连接丢失,请自动尝试重新连接。每次连接丢失时都会进行一次重新连接尝试。要抑制重新连接行为,请使用
--skip-reconnect
。--safe-updates
,--i-am-a-dummy
,-U
仅允许使用键值指定要修改哪些行的语句
UPDATE
和DELETE
语句。如果您已在选项文件中设置此选项,则可以通过--safe-updates
在命令行上使用该选项来覆盖它。有关此选项的更多信息,请参见第4.5.1.6节“mysql提示”。这个选项在MySQL 8.0.3中被删除。
--server-public-key-path=
file_name
包含客户端副本的文件的路径名,该副本是服务器为基于RSA密钥对的密码交换所需的。该文件必须采用PEM格式。该选项适用于使用
sha256_password
或caching_sha2_password
身份验证插件进行身份验证的客户端 。对于未使用其中一个插件进行身份验证的帐户,此选项将被忽略。如果不使用基于RSA的密码交换,它也会被忽略,例如当客户端使用安全连接连接到服务器时。如果 给出并指定了有效的公钥文件,则优先于 。
--server-public-key-path=
file_name
--get-server-public-key
只有在使用OpenSSL构建MySQL时,此选项才可用。
有关这些
sha256_password
和caching_sha2_password
插件的信息,请参见 第6.5.1.2节“SHA-256可插入验证”和 第6.5.1.3节“缓存SHA-2可插入验证”。--shared-memory-base-name=
name
在Windows上,使用共享内存名称,用于使用共享内存连接到本地服务器。默认值是
MYSQL
。共享内存名称区分大小写。必须启动服务器,
--shared-memory
并启用共享内存连接选项。如果有任何陈述,会在每个陈述后显示警告。该选项适用于交互式和批处理模式。
忽略
SIGINT
信号(通常是键入Control + C的结果)。--silent
,-s
静音模式。产量较少。这个选项可以多次给出,以产生越来越少的输出。
该选项会导致非表格格式和转义特殊字符。通过使用原始模式可能会禁用转义; 请参阅该
--raw
选项的说明 。不要在结果中写入列名。
不要为错误写行号。当您想比较包含错误消息的结果文件时很有用。
--socket=
,path
-S
path
连接到
localhost
要使用的Unix套接字文件,或在Windows上使用命名管道的名称。开头的选项
--ssl
指定是否使用SSL连接到服务器,并指明在哪里可以找到SSL密钥和证书。请参见 第6.4.2节“加密连接的命令选项”。--syslog
,-j
该选项会导致mysql将交互式语句发送到系统日志记录工具。在Unix上,这是
syslog
; 在Windows上,它是Windows事件日志。记录消息出现的目的地取决于系统。在Linux上,目标通常是/var/log/messages
文件。以下是使用Linux在Linux上生成的输出示例
--syslog
。此输出格式化为可读性; 每条记录的消息实际上只占一行。Mar 7 12:39:25 myhost MysqlClient[20824]: SYSTEM_USER:'oscar', MYSQL_USER:'my_oscar', CONNECTION_ID:23, DB_SERVER:'127.0.0.1', DB:'--', QUERY:'USE test;' Mar 7 12:39:28 myhost MysqlClient[20824]: SYSTEM_USER:'oscar', MYSQL_USER:'my_oscar', CONNECTION_ID:23, DB_SERVER:'127.0.0.1', DB:'test', QUERY:'SHOW TABLES;'
有关更多信息,请参见第4.5.1.3节“mysql日志记录”。
--table
,-t
以表格格式显示输出。这是交互式使用的默认值,但可用于以批处理模式生成表格输出。
将输出的副本附加到给定文件。该选项仅适用于交互模式。第4.5.1.2节“mysql命令”进一步讨论了Tee文件。
客户端允许的加密连接协议。该值是一个包含一个或多个协议名称的逗号分隔列表。可以为这个选项命名的协议取决于用于编译MySQL的SSL库。有关详细信息,请参见 第6.4.6节“加密连接协议和密码”。
--unbuffered
,-n
每次查询后刷新缓冲区。
--user=
,user_name
-u
user_name
连接到服务器时使用的MySQL用户名。
--verbose
,-v
详细模式。产生更多关于程序的输出。这个选项可以多次给出,以产生越来越多的输出。(例如,
-v -v -v
即使在批处理模式下也产生表格输出格式。)--version
,-V
显示版本信息并退出。
--vertical
,-E
垂直打印查询输出行(每列值一行)。如果没有此选项,您可以通过终止它们来为单个语句指定垂直输出
\G
。--wait
,-w
如果无法建立连接,请等待并重试,而不是中止。
--xml
,-X
生成XML输出。本文由学什么技术好提供翻译
<field name="column_name">NULL</field>
--xml
与mysql一起使用 时的输出与mysqldump 的输出相匹配--xml
。有关详细信息,请参见 第4.5.4节“ mysqldump - 数据库备份程序”。XML输出也使用XML命名空间,如下所示:
shell> mysql --xml -uroot -e "SHOW VARIABLES LIKE 'version%'" <?xml version="1.0"?> <resultset statement="SHOW VARIABLES LIKE 'version%'" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <row> <field name="Variable_name">version</field> <field name="Value">5.0.40-debug</field> </row> <row> <field name="Variable_name">version_comment</field> <field name="Value">Source distribution</field> </row> <row> <field name="Variable_name">version_compile_machine</field> <field name="Value">i686</field> </row> <row> <field name="Variable_name">version_compile_os</field> <field name="Value">suse-linux-gnu</field> </row> </resultset>
(请参阅错误#25946。)
您也可以使用设置下列变量 。 --var_name=value
connect_timeout
连接超时前的秒数。(默认值是0。)
max_allowed_packet
客户端/服务器通信的最大缓冲区大小。默认值是16MB,最大值是1GB。
max_join_size
使用时自动限制连接中的行 --safe-updates。(默认值是1,000,000。)
net_buffer_length
TCP / IP和套接字通信的缓冲区大小。(默认值是16KB。)
select_limit
使用时自动限制 SELECT语句 --safe-updates。(默认值是1,000。)