8.3.1. 选项

mysql支持下面的选项:

·         ---help-

显示帮助消息并退出。

·         --batch-B

打印结果,使用tab作为列间隔符,每个行占用新的一行。使用该选项,则mysql不使用历史文件。

·         --character-sets -dir=path

字符集的安装目录。参见5.10.1节,“数据和排序用字符集”

·         --compress-C

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

·         ---database=db_name-D db_name

要使用的数据库。主要在选项文件中有用。

·         ---debug[=debug_options]-# [debug_options]

写调试日志。debug_options字符串通常为'd:t:o,file_name'。 默认为'd:t:o,/tmp/mysql.trace'

·         ---debug-info-T

当程序退出时输出部分调试信息。

·         --default-character-set=charset

使用charsetas作为默认字符集。参见5.10.1节,“数据和排序用字符集”

·         --execute=statement, -e statement

执行语句并退出。默认输出格式与用--batch产生的相同。4.3.1节,“在命令行上使用选项”中提供了一些例子。

·         --force-f

即使出现一个SQL错误仍继续。

·         --host=host_name-h host_name

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

·         --html-H

产生HTML输出。

·         --ignore-space-i

忽视函数名后面的空格。其结果描述参见5.3.2节,“SQL服务器模式”中的IGNORE_SPACE的讨论。

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

LOAD DATA INFILE启用或禁用LOCAL功能。没有值,该选项启用LOCAL。还可以采用--local-infile=0--local-infile=1以显式禁用或启用LOCAL。如果服务器不支持,启用LOCAL不会生效。

·         --named-commands-G

命名的命令被启用。允许长格式命令和短格式\*命令。例如,quit\q均被识别。

·         --no-auto-rehash-A

不自动重新进行哈希运算。该选项使mysql启动得更快,但果你想要完成表和列名,你必须发出rehash命令。

·         --no-beep-b

当发生错误时不要保持。

·         --no-named-commands-g

命名的命令被禁用。只使用\*形式,或者只使用行开头的命名用分号()结束的的命令。对于MySQL 3.23.22,默认情况mysql启动时启用该选项。然而,即使使用该选项,长格式命令仍然从第1行工作。

·         --no-pager

不使用分页器来显示查询输出。在8.3.2节,“mysql命令”中详细讨论了输出分页。

·         --no-tee

不将输出复制到文件中。在8.3.2节,“mysql命令”中详细讨论了Tee文件。

·         --one--database-O

忽视除了为命令行中命名的默认数据库的语句。可以帮助跳过对二进制日志中的其它数据库的更新。

·         --pager[=command]

使用给出的命令来分页查询输出。如果该命令被删除,默认分页器为PAGER环境变量的值。合法pagerslessmorecat [>filename]等等。该选项只在Unix中工作。不能以批处理模式工作。在8.3.2节,“mysql命令”中详细讨论了输出分页。

·         --password[=password]-p[password]

当连接服务器时使用的密码。如果使用短选项形式(-p),选项和 密码之间不能有空格。如果在命令行中--password-p选项后面没有 密码值,则提示输入一个密码。在SysV-based UNIX系统中应省略密码,因为密码可以显示在ps的输出中。

·         --port=port_num-P port_num

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

·         --prompt=format_str

将提示设置为指定的格式。默认为mysql>。在8.3.2节,“mysql命令”中描述了提示中可以包含的具体顺序。

·         --protocol={TCP | SOCKET | PIPE | MEMORY}

使用的连接协议。

·         --quick-q

不缓存每个查询的结果,按照接收顺序打印每一行。如果输出被挂起,服务器会慢下来。使用该选项,mysql不使用历史文件。

·         --raw-r

写列的值而不转义转换。通常结合--batch选项使用。

·         --reconnect

如果与服务器之间的连接断开,自动尝试重新连接。每次连接断开后则尝试一次重新连接。要想禁止重新连接,使用--skip-reconnect

·         --safe-updates--i-am-a-dummy-U

只允许那些使用键值指定行生效的UPDATEDELETE语句。如果已经在选项文件中设置了该选项,可以用命令行中的--safe-updates覆盖它。关于该选项的详细信息参见8.3.4节,“mysql技巧”

·         --secure-auth

不向旧(pre-4.1.1)格式的服务器发送密码。这样可以防止不使用新密码格式的服务器的连接。

·         --show-warnings

如果每个语句后有警告则显示。该选项适用于交互式和批处理模式。

·         --sigint-ignore

忽视SIGINT符号(一般为Control-C的结果)

·         --silent-s

沉默模式。产生少的输出。可以多次使用该选项以产生更少的输出。

·         --skip-column-names-N

在结果中不写列名。

·         --skip-line-numbers-L

在错误信息中不写行号。当你想要比较包括错误消息的结果文件时有用。

·         --socket=path-S path

用于连接的套接字文件。

·         --tables-t

用表格式显示输出。这是交互式应用的默认设置,但可用来以批处理模式产生表输出。

·         --tee=file_name

将输出拷贝添加到给定的文件中。该选项在批处理模式不工作。在8.3.2节,“mysql命令”中详细讨论了Tee文件。

·         --unbuffered-n

每次查询后刷新缓存区。

·         --user=user_name-u user_name

当连接服务器时MySQL使用的用户名。

·         --verbose-v

冗长模式。产生更多的输出。可以多次使用该选项以产生更多的输出。(例如,-v -v -v甚至可以在批处理模式产生表输出格式)

·         --version-V

显示版本信息并退出。

·         --vertical-E

垂直输出查询输出的行。没有该选项,可以用\G结尾来指定单个语句的垂直输出。

·         --wait-w

如果不能建立连接,等待并重试而不是放弃。

·         --xml-X

产生XML输出。

你还可以使用--var_name=value选项设置下面的变量:

·         connect_timeout

连接超时前的秒数。(默认值是0

·         max_allowed_packet

从服务器发送或接收的最大包长度。(默认值是16MB

·         max_join_size

当使用--safe-updates时联接中的行的自动限制。(默认值是1,000,000

·         net_buffer_length

TCP/IP和套接字通信缓冲区大小。(默认值是16KB

·         select_limit

当使用--safe-updatesSELECT语句的自动限制。(默认值是1,000

也可以使用--set-variable=var_name=value or -O var_name=value语法来设置变量。不赞成使用该语法

Unix中,mysql客户程序向历史文件中写入已执行语句的一条记录。默认情况,历史文件名为.mysql_history并在根目录中重建。要想指定不同的文件,应设置MYSQL_HISTFILE环境变量的值。

如果不想要历史文件,首先删除.mysql_history(如果有),然后使用下面的任何一种方法:

·         MYSQL_HISTFILE变量设到/dev/null。要想在每次登录时让该设置生效,将该设置放入外壳的一个启动文件中。

·         创建.mysql_history,作为一个符号链接指向/dev/null

·                shell> ln -s /dev/null $HOME/.mysql_history

只需要执行一次。

关注编程学问公众号