10、MySQL 8.0参考手册 4.5.1.1 mysql选项

本文详细介绍了MySQL命令行工具支持的各种选项,包括自动重新哈希、垂直输出、批处理模式等,以及如何通过命令行或选项文件指定这些选项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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_pa​​cket发送到服务器或从服务器接收的最大数据包长度  
--max_join_size使用--safe-updates时自动限制联接中的行  
--named的命令启用命名的mysql命令  
--net_buffer_lengthTCP / 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, -?

    显示帮助信息并退出。

  • --auto-rehash

    启用自动重新哈希。该选项默认打开,它启用数据库,表和列名称完成。使用 --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,都会发生这种情况。 0xvalue

  • --binary-mode

    此选项有助于处理 可能包含值的mysqlbinlog输出 BLOB默认情况下, MySQL的转换\r\n 在声明中串\n并解释 \0作为语句终止符。 --binary-mode禁用这两个功能。它还禁止所有的MySQL 除了命令charset和 delimiter在非交互式模式(输入管道输送到的MySQL或使用所加载的 source命令)。

  • --bind-address=ip_address

    在具有多个网络接口的计算机上,使用此选项选择用于连接到MySQL服务器的接口。

  • --character-sets-dir=dir_name

    安装字符集的目录。请参见 第10.14节“字符集配置”

  • --column-names

    在结果中写入列名称。

  • --column-type-info

    显示结果集元数据。

  • --comments, -c

    是否在发送到服务器的语句中去除或保留注释。默认值是 --skip-comments (带注释),启用 --comments(保留注释)。

    注意

    MySQL的客户端总是通过优化程序提示到服务器,不管这个选项是否被给出。

    评论剥离已弃用。此功能及其控制选项将在未来的MySQL版本中删除。

  • --compress, -C

    压缩客户端和服务器之间发送的所有信息(如果两者均支持压缩)。

  • --connect-expired-password

    如果用于连接的帐户具有过期的密码,则向服务器指示客户端可以处理沙盒模式。这对于非交互式调用mysql非常有用, 因为通常服务器会断开尝试使用具有过期密码的帐户进行连接的非交互式客户端。(请参见 第6.3.9节“服务器处理过期密码”。)

  • --database=db_name, -D db_name

    要使用的数据库。这主要用于选项文件。

  • --debug[=debug_options], -# [debug_options]

    编写一个调试日志。一个典型的 debug_options字符串是 默认是。 d:t:o,file_named:t:o,/tmp/mysql.trace

    只有在使用MySQL构建时,此选项才可用 WITH_DEBUGOracle提供的MySQL发行版二进制文件不是 使用此选项构建的。

  • --debug-check

    程序退出时打印一些调试信息。

  • --debug-info, -T

    在程序退出时打印调试信息和内存以及CPU使用情况统计信息。

  • --default-auth=plugin

    关于使用客户端身份验证插件的提示。请参见第6.3.10节“可插入认证”

  • --default-character-set=charset_name

    使用charset_name作为客户端和连接的默认字符集。

    如果操作系统使用一个字符集,并且默认情况下mysql客户端使用另一个字符集,则此选项非常有用在这种情况下,输出格式可能不正确。您通常可以通过使用此选项来强制客户端使用系统字符集来解决此类问题。

    有关更多信息,请参见 第10.4节“连接字符集和排序规则”和 第10.14节“字符集配置”

  • --defaults-extra-file=file_name

    在全局选项文件之后读取此选项文件,但在用户选项文件之前(在Unix上)。如果文件不存在或无法访问,则会发生错误。 file_name如果作为相对路径名而非完整路径名给出,则相对于当前目录进行解释。

  • --defaults-file=file_name

    只使用给定的选项文件。如果文件不存在或无法访问,则会发生错误。 file_name如果作为相对路径名而非完整路径名给出,则相对于当前目录进行解释。

    例外:即使 --defaults-file读取客户端程序.mylogin.cnf

  • --defaults-group-suffix=str

    不仅要阅读常用选项组,还要阅读具有常用名称和后缀的组 str例如, mysql通常读取 [client][mysql] 组。如果 --defaults-group-suffix=_other 给出选项,mysql也读取 [client_other]和 [mysql_other]组。

  • --delimiter=str

    设置语句分隔符。默认值是分号字符(;)。

  • --disable-named-commands

    禁用命名命令。\*使用表格,或者仅在以分号(;结尾的行的开头使用命名命令。 mysql默认启用此选项 但是,即使使用此选项,长格式命令仍然可以从第一行开始工作。请参见第4.5.1.2节“mysql命令”

  • --enable-cleartext-plugin

    启用mysql_clear_password明文身份验证插件。(请参见 第6.5.1.4节“客户端明文可插入验证”。)

  • --execute=statement, -e statement

    执行语句并退出。默认的输出格式就像使用 --batch有关示例请参见 第4.2.4节“在命令行上使用选项”使用这个选项,mysql不会使用历史文件。

  • --force, -f

    即使发生SQL错误也继续。

  • --get-server-public-key

    从服务器请求基于RSA密钥对的密码交换所需的公钥。此选项适用于使用caching_sha2_password身份验证插件进行身份验证的客户端 对于那个插件,除非请求,服务器不会发送公钥。对于不使用该插件进行身份验证的帐户,此选项将被忽略。如果不使用基于RSA的密码交换,它也会被忽略,例如当客户端使用安全连接连接到服务器时。

    如果 给出并指定了有效的公钥文件,则优先于 。 --server-public-key-path=file_name--get-server-public-key

    有关该caching_sha2_password插件的信息 ,请参见 第6.5.1.3节“缓存SHA-2可插入验证”

  • --histignore

    用于指定为了记录目的而忽略的语句的一个或多个模式的以冒号分隔的列表。这些模式被添加到默认模式列表("*IDENTIFIED*:*PASSWORD*")中。为此选项指定的值影响写入历史记录文件的语句的日志记录,以及 syslog是否 --syslog给出选项。有关更多信息,请参见第4.5.1.3节“mysql日志记录”

  • --host=host_name, -h host_name

    连接到给定主机上的MySQL服务器。

  • --html, -H

    生成HTML输出。

  • --ignore-spaces, -i

    忽略函数名称后的空格。这一点的效果在IGNORE_SPACESQL模式的讨论中进行了描述 (请参见 第5.1.8节“服务器SQL模式”)。

  • --init-command=str

    连接到服务器后执行的SQL语句。如果启用自动重新连接,则在重新连接发生后,语句会再次执行。

  • --line-numbers

    编写错误的行号。禁用此 --skip-line-numbers

  • --local-infile[={0|1}]

    启用或禁用LOCAL的能力 LOAD DATA INFILE对于mysql,默认情况下禁用此功能。没有价值,该选项启用LOCAL该选项可以作为 --local-infile=0或 --local-infile=1明确禁用或启用LOCAL启用本地数据加载还要求服务器允许它; 请参见 第6.1.6节“LOAD DATA LOCAL的安全问题”

  • --login-path=name

    .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

    不要阅读任何选项文件。如果由于从选项文件读取未知选项而导致程序启动失败, --no-defaults可用于防止读取它们。

    例外是.mylogin.cnf 在任何情况下读取文件(如果存在)。这允许以比使用命令行更安全的方式来指定密码,即使在--no-defaults 使用也是如此。.mylogin.cnfmysql_config_editor实用程序创建,请参见 第4.6.7节“ mysql_config_editor - MySQL配置实用程序”。)

  • --one-database, -o

    除了那些默认数据库是在命令行中命名的数据库以外的语句,忽略语句。这个选项是基本的,应该小心使用。语句筛选仅基于 USE语句。

    最初,mysql在输入中执行语句,因为db_name在命令行上指定数据库相当于在输入的开始处插入 数据库 然后,对于遇到的每个 语句, mysql将接受或拒绝以下语句,具体取决于命名数据​​库是否是命令行上的语句。声明的内容并不重要。 USE db_nameUSE

    假设调用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[=command]

    使用给定的命令进行分页查询输出。如果省略该命令,则默认寻呼机是PAGER环境变量的值 有效的寻呼机更少更多, 猫[>文件名],等等。该选项仅适用于Unix,并且只能在交互模式下使用。要禁用分页,请使用 --skip-pager。 第4.5.1.2节“mysql命令”进一步讨论了输出分页。

  • --password[=password], -p[password]

    连接到服务器时使用的密码。如果使用short option form(-p), 在选项和密码之间不能有空格。如果你省略命令行中password--passwordor -p选项后面的 值 , mysql会提示输入一个值。

    在命令行中指定密码应被视为不安全。请参见 第6.1.2.1节“密码安全的最终用户指南”您可以使用选项文件来避免在命令行上输入密码。

  • --pipe, -W

    在Windows上,使用命名管道连接到服务器。该选项仅适用于服务器支持命名管道连接的情况。

  • --plugin-dir=dir_name

    在其中查找插件的目录。如果该--default-auth 选项用于指定认证插件,但 mysql没有找到它,请指定此选项请参见 第6.3.10节“可插入认证”

  • --port=port_num, -P port_num

    用于连接的TCP / IP端口号。

  • --print-defaults

    打印程序名称以及从选项文件中获取的所有选项。

  • --prompt=format_str

    将提示设置为指定的格式。默认是 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)
    \
  • --reconnect

    如果与服务器的连接丢失,请自动尝试重新连接。每次连接丢失时都会进行一次重新连接尝试。要抑制重新连接行为,请使用 --skip-reconnect

  • --safe-updates, --i-am-a-dummy, -U

    仅允许使用键值指定要修改哪些行的语句UPDATE和 DELETE语句。如果您已在选项文件中设置此选项,则可以通过--safe-updates在命令行上使用该选项来覆盖它有关此选项的更多信息请参见第4.5.1.6节“mysql提示”

  • --secure-auth

    这个选项在MySQL 8.0.3中被删除。

  • --server-public-key-path=file_name

    包含客户端副本的文件的路径名,该副本是服务器为基于RSA密钥对的密码交换所需的。该文件必须采用PEM格式。该选项适用于使用sha256_passwordcaching_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并启用共享内存连接选项。

  • --show-warnings

    如果有任何陈述,会在每个陈述后显示警告。该选项适用于交互式和批处理模式。

  • --sigint-ignore

    忽略SIGINT信号(通常是键入Control + C的结果)。

  • --silent, -s

    静音模式。产量较少。这个选项可以多次给出,以产生越来越少的输出。

    该选项会导致非表格格式和转义特殊字符。通过使用原始模式可能会禁用转义; 请参阅该--raw选项的说明 

  • --skip-column-names, -N

    不要在结果中写入列名。

  • --skip-line-numbers, -L

    不要为错误写行号。当您想比较包含错误消息的结果文件时很有用。

  • --socket=path, -S path

    连接到localhost要使用的Unix套接字文件,或在Windows上使用命名管道的名称。

  • --ssl*

    开头的选项 --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

    以表格格式显示输出。这是交互式使用的默认值,但可用于以批处理模式生成表格输出。

  • --tee=file_name

    将输出的副本附加到给定文件。该选项仅适用于交互模式。第4.5.1.2节“mysql命令”进一步讨论了Tee文件。

  • --tls-version=protocol_list

    客户端允许的加密连接协议。该值是一个包含一个或多个协议名称的逗号分隔列表。可以为这个选项命名的协议取决于用于编译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>

    --xmlmysql一起使用 时的输出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。)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值