MySQL:Client端程序

来自Wikioe
跳到导航 跳到搜索


mysql:MySQL 命令行 Client 端

mysql是具有输入行编辑功能的简单 SQL Shell。

它支持交互和非交互使用:
    1、交互式使用时,查询结果以 ASCIItable 格式显示。
    2、非交互使用(例如,用作过滤器)时,结果以制 table 符分隔的格式显示。可以使用命令选项更改输出格式。

mysql 的使用:从命令解释器的提示中调用它,如下所示:

shell> mysql db_name

或:

shell> mysql --user=user_name --password db_name
Enter password: your_password

然后键入一个 SQL 语句,并以“;”、“\g”或“\G”结尾,然后按 Enter。

  • 如果输入“Ctrl”+“C”,则会中断当前语句,否则将取消部分输入行。
  • 可以在脚本文件(批处理文件)中执行 SQL 语句,如下所示:
shell> mysql db_name < script.sql > output.tab
  • 在 Unix 上,mysqlClient 端将交互式执行的语句记录到历史文件中。
  • 如果由于内存不足而无法处理大型结果集而遇到问题,请使用“--quick”选项。这迫使mysql一次从服务器上检索结果,而不是检索整个结果集并在显示之前将其缓冲在内存中。这是通过使用 Client 端/服务器库中的“mysql_use_result()” C API 函数而不是“mysql_store_result()”返回结果集来完成的。

mysqlClient 端选项

Option Name Description Introduced Deprecated
--auto-rehash 启用自动重新哈希
--auto-vertical-output 启用自动垂直结果集显示
--batch 不使用历史记录文件
--binary-as-hex 以十六进制显示二进制值 5.7.19
--binary-mode 禁用\ r\n-到-\ n 转换和将\ 0 视为查询结束
--bind-address 使用指定的网络接口连接到 MySQL Server
--character-sets-dir 字符集的安装目录
--column-names 在结果中写入列名
--column-type-info 显示结果集元数据
--comments 在发送到服务器的语句中保留还是删除 Comments
--compress 压缩 Client 端和服务器之间发送的所有信息
--connect-expired-password 指示服务器 Client 端可以处理过期密码沙箱模式
--connect-timeout 连接超时之前的秒数
--database 要使用的数据库
--debug 编写调试日志;仅当 MySQL 使用调试支持构建时才受支持
--debug-check 程序退出时打印调试信息
--debug-info 程序退出时打印调试信息,内存和 CPU 统计信息
--default-auth 身份验证插件使用
--default-character-set 指定默认字符集
--defaults-extra-file 除常规选项文件外,还读取命名的选项文件
--defaults-file 只读命名的选项文件
--defaults-group-suffix 选项组后缀值
--delimiter 设置语句定界符
--enable-cleartext-plugin 启用明文身份验证插件
--execute 执行语句并退出
--force 即使发生 SQL 错误,也要 continue
--get-server-public-key 从服务器请求 RSA 公钥 5.7.23
--help 显示帮助信息并退出
--histignore 模式指定日志记录要忽略的语句
--host MySQL 服务器所在的主机
--html 产生 HTML 输出
--ignore-spaces 忽略函数名称后的空格
--init-command 连接后执行的 SQL 语句
--line-numbers Importing 行号以查找错误
--local-infile 启用或禁用 LOAD DATA 的 LOCAL 功能
--login-path 从.mylogin.cnf 中读取登录路径选项
--max-allowed-packet 发送到服务器或从服务器接收的最大数据包长度
--max-join-size 使用--safe-updates 时联接中行的自动限制
--named-commands 启用命名的 mysql 命令
--net-buffer-length TCP/IP 和套接字通信的缓冲区大小
--no-auto-rehash 禁用自动重新哈希
--no-beep 发生错误时请勿发出哔声
--no-defaults 不读取选项文件
--one-database 忽略命令行中指定的默认数据库的语句以外的语句
--pager 使用给定命令进行分页查询输出
--password 连接服务器时使用的密码
--pipe 使用命名管道连接到服务器(仅 Windows)
--plugin-dir 安装插件的目录
--port 用于连接的 TCP/IP 端口号
--print-defaults 打印默认选项
--prompt 将提示设置为指定格式
--protocol 使用的传输协议
--quick 不要缓存每个查询结果
--raw 写列值时不进行转义转换
--reconnect 如果与服务器的连接丢失,则自动尝试重新连接
--safe-updates, --i-am-a-dummy 仅允许指定键值的 UPDATE 和 DELETE 语句
--secure-auth 不要以旧(4.1 之前)格式向服务器发送密码 Yes
--select-limit 使用--safe-updates 时 SELECT 语句的自动限制
--server-public-key-path 包含 RSA 公钥的文件的路径名
--shared-memory-base-name 共享内存连接的共享内存名称(仅 Windows)
--show-warnings 在每个语句后显示警告(如果有)
--sigint-ignore 忽略 SIGINTsignal(通常是键入 Control C 的结果)
--silent Silent mode
--skip-auto-rehash 禁用自动重新哈希
--skip-column-names 不要在结果中写列名
--skip-line-numbers 跳过行号以查找错误
--skip-named-commands 禁用命名的 mysql 命令
--skip-pager Disable paging
--skip-reconnect Disable reconnecting
--socket Unix 套接字文件或 Windows 命名管道使用
--ssl 启用连接加密
--ssl-ca 包含受信任的 SSL 证书颁发机构列 table 的文件
--ssl-capath 包含受信任的 SSL 证书颁发机构证书文件的目录
--ssl-cert 包含 X.509 证书的文件
--ssl-cipher 连接加密的允许密码
--ssl-crl 包含证书吊销列 table 的文件
--ssl-crlpath 包含证书吊销列 table 文件的目录
--ssl-key 包含 X.509 密钥的文件
--ssl-mode 与服务器连接的所需安全状态 5.7.11
--ssl-verify-server-cert 根据服务器证书的通用名身份验证主机名
--syslog 将交互式语句记录到 syslog
--table 以 table 格格式显示输出
--tee 将输出副本追加到命名文件
--tls-version 允许的 TLS 协议进行加密连接 5.7.10
--unbuffered 每次查询后刷新缓冲区
--user 连接服务器时使用的 MySQL 用户名
--verbose Verbose mode
--version 显示版本信息并退出
--vertical 垂直打印查询输出行(每列值一行)
--wait 如果无法构建连接,请 await 并重试,而不是中止
--xml 产生 XML 输出

mysqlClient 端命令

mysql 将您发出的每个 SQL 语句发送到要执行的服务器。 mysql本身也解释了一组命令。有关这些命令的列表,请在“mysql>”提示符下键入“help”或“\h”:

mysql> help

List of all MySQL commands:
Note that all text commands must be first on line and end with ';'
?         (\?) Synonym for `help'.
clear     (\c) Clear the current input statement.
connect   (\r) Reconnect to the server. Optional arguments are db and host.
delimiter (\d) Set statement delimiter.
edit      (\e) Edit command with $EDITOR.
ego       (\G) Send command to mysql server, display result vertically.
exit      (\q) Exit mysql. Same as quit.
go        (\g) Send command to mysql server.
help      (\h) Display this help.
nopager   (\n) Disable pager, print to stdout.
notee     (\t) Don't write into outfile.
pager     (\P) Set PAGER [to_pager]. Print the query results via PAGER.
print     (\p) Print current command.
prompt    (\R) Change your mysql prompt.
quit      (\q) Quit mysql.
rehash    (\#) Rebuild completion hash.
source    (\.) Execute an SQL script file. Takes a file name as an argument.
status    (\s) Get status information from the server.
system    (\!) Execute a system shell command.
tee       (\T) Set outfile [to_outfile]. Append everything into given
               outfile.
use       (\u) Use another database. Takes database name as argument.
charset   (\C) Switch to another charset. Might be needed for processing
               binlog with multi-byte charsets.
warnings  (\W) Show warnings after every statement.
nowarning (\w) Don't show warnings after every statement.
resetconnection(\x) Clean session context.

For server side help, type 'help contents'

mysqlClient 端记录

mysqlClient 端可以为交互式执行的语句执行以下类型的日志记录:

  1. 在 Unix 上,mysql将语句写入历史文件。默认情况下,此文件在您的主目录中名为“.mysql_history”。要指定其他文件,请设置“MYSQL_HISTFILE”环境变量的值。
  2. 在所有平台上,如果指定了“--syslog”选项,则mysql将语句写入系统日志记录工具:
    1. 在 Unix 上,这是 syslog;
    2. 在 Windows 上,它是 Windows 事件日志。
    • 记录的消息出现的目的地取决于系统。在 Linux 上,目标通常是“/var/log/messages”文件。

mysqlClient 端服务器端帮助

从文本文件执行 SQL 语句

mysqlClient 端提示

mysqladmin:MySQL 服务器 Management 程序



mysqldump:数据库备份程序



mysqlcheck:table 维护程序



mysqlimport:一个数据导入程序



mysqlpump:数据库备份程序



mysqlshow:显示数据库、table和列信息



mysqlslap:一个负载仿真 Client 端