MySQL:Client端程序
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 端可以为交互式执行的语句执行以下类型的日志记录:
- 在 Unix 上,mysql将语句写入历史文件。默认情况下,此文件在您的主目录中名为“.mysql_history”。要指定其他文件,请设置“MYSQL_HISTFILE”环境变量的值。
- 在所有平台上,如果指定了“--syslog”选项,则mysql将语句写入系统日志记录工具:
- 在 Unix 上,这是 syslog;
- 在 Windows 上,它是 Windows 事件日志。
- 记录的消息出现的目的地取决于系统。在 Linux 上,目标通常是“/var/log/messages”文件。
mysqlClient 端服务器端帮助
如果为help命令提供参数,则mysql将其用作搜索字符串,以从《 MySQL 参考手册》的内容访问服务器端帮助。此命令的正确操作要求使用帮助主题信息初始化mysql数据库中的帮助列表。
mysql> help search_string
- 搜索字符串可以包含通配符“%”和“_”。这些含义与使用LIKE运算符执行的模式匹配操作相同。例如,“HELP rep%”返回以“rep”开头的主题列表:
从文本文件执行 SQL 语句
mysqlClient 端通常以交互方式使用,如下所示:
shell> mysql db_name
- 但是,也可以将 SQL 语句放入文件中,然后告诉mysql从该文件中读取其输入。
- 如,文本文件“text_file”中包含要执行的语句,然后调用mysql:
shell> mysql db_name < text_file
- 如果将“use db_name”语句作为文件中的第一条语句,则无需在命令行上指定数据库名称:
shell> mysql < text_file
- 如果已经在运行mysql,则可以使用“source”命令或“\.”命令执行 SQL 脚本文件:
mysql> source file_name mysql> \. file_name
- 有时,您可能希望您的脚本向用户显示进度信息。为此,您可以插入如下语句:
SELECT '<info_to_display>' AS ' ';
- 显示的语句输出“<info_to_display>”。
- 还可以使用“--verbose”选项调用mysql,这会使每个语句在产生结果之前显示。
- mysql 会忽略输入文件开头的 Unicode 字节 Sequences 标记(BOM)字符:
- 以前,它会读取它们并将其发送到服务器,从而导致语法错误。BOM 的存在不会导致mysql更改其默认字符集。
- 为此,如果需要指定文件输入字符集,请使用诸如“--default-character-set=utf8”之类的选项调用mysql。【???】
mysqlClient 端提示
- 输入行编辑【略】
- 禁用互动历史记录【略】
- Windows 上的 Unicode 支持【略】
- 垂直显示查询结果【略】
- 使用安全更新模式(-安全更新) 【略】
- 禁用 MySQL 自动重新连接 【略】
- MySQLClient 端解析器与服务器解析器 【略】
mysqladmin:MySQL 服务器 Management 程序
mysqladmin 是用于执行 Management 操作的 Client 端。您可以使用它来检查服务器的配置和当前状态,创建和删除数据库等等。
调用mysqladmin:
shell> mysqladmin [options] command [command-arg] [command [command-arg]] ...
mysqladmin 支持的 command:
Option Name | Description |
---|---|
create db_name | 创建一个名为“db_name”的新数据库。 |
debug | 告诉服务器将调试信息写入错误日志。连接的用户必须具有SUPER特权。此信息的格式和内容可能会更改。 |
drop db_name | 删除名为* db_name *的数据库及其所有 table。 |
extended-status | 显示服务器状态变量及其值。 |
flush-hosts | 刷新主机缓存中的所有信息。 |
flush-logs [log_type ...] | 刷新所有日志。
|
flush-privileges | 重新加载授权 table(与reload相同)。 |
flush-status | 清除状态变量。 |
flush-tables | 刷新所有 table。 |
flush-threads | 刷新线程缓存。 |
kill id,id,... | 杀死服务器线程。如果给出了多个线程 ID 值,则列 table 中不能有空格。
|
| |
password new_password | 设置新密码。这会将您与mysqladmin一起用于连接到服务器的帐户的密码更改为“new_password”。因此,下次您使用同一帐户调用mysqladmin(或任何其他 Client 端程序)时,将需要指定新密码。
|
ping | 检查服务器是否可用。如果服务器正在运行,则mysqladmin的返回状态为 0,否则为 1。即使出现诸如Access denied之类的错误,该值也为 0,因为这意味着服务器正在运行但拒绝了连接,这与服务器未运行不同。 |
processlist | 显示活动服务器线程的列 table。这就像“SHOW PROCESSLIST”语句的输出。如果给出了“--verbose”选项,则输出类似于显示完整的程序 Lists。 |
reload | 重新加载授权 table。 |
refresh | 刷新所有 table,然后关闭并打开日志文件。 |
shutdown | 停止服务器。 |
start-slave | 在从属服务器上开始复制。 |
status | 显示简短的服务器状态消息。 |
stop-slave | 在从属服务器上停止复制。 |
variables | 显示服务器系统变量及其值。 |
version | 显示来自服务器的版本信息。 |
- 所有命令都可以缩短为任何唯一的前缀。例如:
shell> mysqladmin proc stat
+----+-------+-----------+----+---------+------+-------+------------------+
| Id | User | Host | db | Command | Time | State | Info |
+----+-------+-----------+----+---------+------+-------+------------------+
| 51 | jones | localhost | | Query | 0 | | show processlist |
+----+-------+-----------+----+---------+------+-------+------------------+
Uptime: 1473624 Threads: 1 Questions: 39487
Slow queries: 0 Opens: 541 Flush tables: 1
Open tables: 19 Queries per second avg: 0.0268
- “mysqladmin status”命令结果显示以下值:
- Uptime:MySQL 服务器已运行的秒数。
- Threads:活动线程(Client 端)的数量。
- Questions:自服务器启动以来,来自 Client 端的问题(查询)数。
- Slow queries:耗时超过long_query_time秒的查询数。参见第 5.4.5 节“缓慢的查询日志”。
- Opens:服务器已打开的 table 数。
- Flush tables:服务器已执行的“flush-*”,“refresh”和“reload”命令的数量。
- Open tables:当前打开的 table 数。
- 如果使用 Unix 套接字文件连接到本地服务器时执行“mysqladmin shutdown”,则mysqladmin 等待直到服务器的进程 ID 文件被删除,以确保服务器已正确停止。
mysqladmin 支持的 options:
- 可以在命令行或配置文件的“[mysqladmin]”和“[client]”组中指定这些选项
Option Name | Description | Introduced | Deprecated |
---|---|---|---|
--bind-address | 使用指定的网络接口连接到 MySQL Server | ||
--compress | 压缩 Client 端和服务器之间发送的所有信息 | ||
--connect-timeout | 连接超时之前的秒数 | ||
--count | 要重复执行命令的迭代次数 | ||
--debug | 编写调试日志 | ||
--debug-check | 程序退出时打印调试信息 | ||
--debug-info | 程序退出时打印调试信息,内存和 CPU 统计信息 | ||
--default-auth | 身份验证插件使用 | ||
--default-character-set | 指定默认字符集 | ||
--defaults-extra-file | 除常规选项文件外,还读取命名的选项文件 | ||
--defaults-file | 只读命名的选项文件 | ||
--defaults-group-suffix | 选项组后缀值 | ||
--enable-cleartext-plugin | 启用明文身份验证插件 | ||
--force | 即使发生 SQL 错误,也要 continue | ||
--get-server-public-key | 从服务器请求 RSA 公钥 | 5.7.23 | |
--help | 显示帮助信息并退出 | ||
--host | MySQL 服务器所在的主机 | ||
--login-path | 从.mylogin.cnf 中读取登录路径选项 | ||
--no-beep | 发生错误时请勿发出哔声 | ||
--no-defaults | 不读取选项文件 | ||
--password | 连接服务器时使用的密码 | ||
--pipe | 使用命名管道连接到服务器(仅 Windows) | ||
--plugin-dir | 安装插件的目录 | ||
--port | 用于连接的 TCP/IP 端口号 | ||
--print-defaults | 打印默认选项 | ||
--protocol | 使用的传输协议 | ||
--relative | 与--sleep 选项一起使用时,显示当前值与先前值之间的差异 | ||
--secure-auth | 不要以旧(4.1 之前)格式向服务器发送密码 | Yes | |
--server-public-key-path | 包含 RSA 公钥的文件的路径名 | 5.7.23 | |
--shared-memory-base-name | 共享内存连接的共享内存名称(仅 Windows) | ||
--show-warnings | 语句执行后显示警告 | ||
--shutdown-timeout | await 服务器关闭的最大秒数 | ||
--silent | Silent mode | ||
--sleep | 重复执行命令,在两次之间睡眠延迟几秒钟 | ||
--socket | Unix 套接字文件或 Windows 命名管道使用 | ||
--ssl | 启用连接加密 | ||
--ssl-ca | 包含受信任的 SSL 证书颁发机构列表的文件 | ||
--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 | 根据服务器证书的通用名身份验证主机名 | ||
--tls-version | 允许的 TLS 协议进行加密连接 | 5.7.10 | |
--user | 连接服务器时使用的 MySQL 用户名 | ||
--verbose | 详细信息 | ||
--version | 显示版本信息并退出 | ||
--vertical | 垂直打印查询输出行(每列值一行) | ||
--wait | 如果无法构建连接,请 await 并重试,而不是中止 |
mysqldump:数据库备份程序
mysqldump 客户机实用程序执行逻辑备份,生成一组SQL语句,可以执行这些语句来重现原始数据库对象定义和表数据。 它转储一个或多个MySQL数据库,以便备份或传输到另一个SQL服务器。 mysqldump命令还可以生成CSV、其他分隔文本或XML格式的输出。
mysqldump至少对转储 table 具有SELECT权限,对转储视图至少具有SHOW VIEW权限,对于转储触发器具有TRIGGER权限,如果不使用“--single-transaction”选项则需要LOCK TABLES权限【允许使用显式的LOCK TABLES语句来锁定您具有SELECT权限的 table。包括使用写锁,可以防止其他会话读取锁定的 table。】,并且(从 MySQL 5.7.31 起)至少需要PROCESS权限【PROCESS特权控制对服务器中正在执行的线程的信息(即,有关会话正在执行的语句的信息)的访问】。如选项说明中所述,某些选项可能需要其他特权。
- --single-transaction:此选项会将隔离级别设置为:REPEATABLE READ。并且随后再执行一条START TRANSACTION语句,让整个数据在dump过程中保证数据的一致性,这个选项对InnoDB的数据表很有用,且不会锁表。但是这个不能保证MyISAM表和MEMORY表的数据一致性。
要重新加载转储文件,您必须具有执行该文件所包含的语句所需的特权,例如由这些语句创建的对象的相应CREATE权限。
- 在 Windows 上使用 PowerShell 通过输出重定向创建的转储将创建具有 UTF-16 编码的文件:
shell> mysqldump [options] > dump.sql
- 但是,由于不允许将 UTF-16 作为连接字符集(请参见不允许的 Client 字符集),因此转储文件将无法正确加载。要变通解决此问题,请使用“--result-file”选项,该选项以 ASCII 格式创建输出:
shell> mysqldump [options] --result-file=dump.sql
性能和可伸缩性注意事项
mysqldump 的优势包括在还原之前查看甚至编辑输出的便利性和灵活性。您可以克隆数据库以进行开发和 DBA 工作,也可以对现有数据库进行一些改动以进行测试。它并非旨在作为用于备份大量数据的快速或可扩展解决方案。对于大数据量,即使备份步骤花费了合理的时间,恢复数据也可能会非常缓慢,因为重播 SQL 语句会涉及用于插入,创建索引等的磁盘 I/O。
- 对于大规模备份和还原,更适合使用物理备份来复制原始格式的数据文件,该格式可以快速还原:
- 如果您的 table 主要是 InnoDBtable,或者混合使用 InnoDB 和 MyISAMtable ,请考虑使用 MySQL Enterprise Backup 产品的 mysqlbackup 命令。【mysqlbackup是一个热备份工具、也就是说它不像mysqldump那样给表上一个全局锁】它为InnoDB备份提供了最佳性能,同时中断最少。它还可以从 MyISAM 和其他存储引擎备份 table;并且它提供了许多方便的选项来适应不同的备份方案。
- mysqldump可以逐行检索和转储 table 内容,也可以从 table 中检索全部内容并在转储之前将其缓冲在内存中。如果要转储大 table,内存中的缓冲可能会成为问题。要逐行转储 table,请使用“--quick”选项(或“--opt”,启用“--quick”)。【默认情况下启用“--opt”选项(因此也启用“--quick”),因此要启用内存缓冲,请使用“--skip-quick”】
- 如果您使用的是最新版本的 mysqldump 来生成转储以重新加载到非常旧的 MySQL 服务器中,请使用“--skip-opt”选项而不是“--opt”或“--extended-insert”选项。
调用语法
通常,共有三种使用mysqldump的方式-为了转储“一组一个或多个 table”,“一组一个或多个完整数据库”或“整个 MySQL 服务器”,如下所示:
shell> mysqldump [options] db_name [tbl_name ...]
shell> mysqldump [options] --databases db_name ...
shell> mysqldump [options] --all-databases
- 要查看您的mysqldump版本支持的选项列表,请发出命令“mysqldump --help”。
options 语法
mysqldump 支持以下选项,可以在命令行或选项文件的[mysqldump]和[client]组中指定这些选项:
Option Name | Description | Introduced | Deprecated |
---|---|---|---|
--add-drop-database | 在每个 CREATE DATABASE 语句之前添加 DROP DATABASE 语句 | ||
--add-drop-table | 在每个 CREATE TABLE 语句之前添加 DROP TABLE 语句 | ||
--add-drop-trigger | 在每个 CREATE TRIGGER 语句之前添加 DROP TRIGGER 语句 | ||
--add-locks | 用 LOCK TABLES 和 UNLOCK TABLES 语句包围每个 table 转储 | ||
--all-databases | 转储所有数据库中的所有 table | ||
--allow-keywords | 允许创建作为关键字的列名 | ||
--apply-slave-statements | 在 CHANGE MASTER 语句之前包含 STOP SLAVE,在输出结束时包含 START SLAVE | ||
--bind-address | 使用指定的网络接口连接到 MySQL Server | ||
--character-sets-dir | 字符集的安装目录 | ||
--comments | 添加 Comments 到转储文件 | ||
--compact | 产生更紧凑的输出 | ||
--compatible | 产生与其他数据库系统或更旧的 MySQL 服务器更兼容的输出 | ||
--complete-insert | 使用包含列名称的完整 INSERT 语句 | ||
--compress | 压缩 Client 端和服务器之间发送的所有信息 | ||
--create-options | 在 CREATE TABLE 语句中包括所有特定于 MySQL 的 table 选项 | ||
--databases | 将所有名称参数解释为数据库名称 | ||
--debug | 编写调试日志 | ||
--debug-check | 程序退出时打印调试信息 | ||
--debug-info | 程序退出时打印调试信息,内存和 CPU 统计信息 | ||
--default-auth | 身份验证插件使用 | ||
--default-character-set | 指定默认字符集 | ||
--defaults-extra-file | 除常规选项文件外,还读取命名的选项文件 | ||
--defaults-file | 只读命名的选项文件 | ||
--defaults-group-suffix | 选项组后缀值 | ||
--delete-master-logs | 在主复制服务器上,执行转储操作后删除二进制日志 | ||
--disable-keys | 对于每个 table,在 INSERT 语句周围加上用于禁用和启用键的语句 | ||
--dump-date | 如果给出--comments,则将转储日期包括为“转储完成于”Comments | ||
--dump-slave | 包含 CHANGE MASTER 语句,该语句列出了从属主机的二进制日志坐标 | ||
--enable-cleartext-plugin | 启用明文身份验证插件 | 5.7.10 | |
--events | 从转储的数据库中转储事件 | ||
--extended-insert | 使用多行 INSERT 语法 | ||
--fields-enclosed-by | 该选项与--tab 选项一起使用,其含义与 LOAD DATA 的相应子句相同 | ||
--fields-escaped-by | 该选项与--tab 选项一起使用,其含义与 LOAD DATA 的相应子句相同 | ||
--fields-optionally-enclosed-by | 该选项与--tab 选项一起使用,其含义与 LOAD DATA 的相应子句相同 | ||
--fields-terminated-by | 该选项与--tab 选项一起使用,其含义与 LOAD DATA 的相应子句相同 | ||
--flush-logs | 开始转储之前刷新 MySQL 服务器日志文件 | ||
--flush-privileges | 转储 mysql 数据库后发出 FLUSH PRIVILEGES 语句 | ||
--force | 即使在 table 转储期间发生 SQL 错误,也要 continue | ||
--get-server-public-key | 从服务器请求 RSA 公钥 | 5.7.23 | |
--help | 显示帮助信息并退出 | ||
--hex-blob | 使用十六进制 table 示法转储二进制列 | ||
--host | MySQL 服务器所在的主机 | ||
--ignore-error | 忽略指定的错误 | ||
--ignore-table | 不要转储给定的 table | ||
--include-master-host-port | 在由--dump-slave 生成的 CHANGE MASTER 语句中包括 MASTER_HOST/MASTER_PORT 选项 | ||
--insert-ignore | 编写 INSERT IGNORE 而不是 INSERT 语句 | ||
--lines-terminated-by | 该选项与--tab 选项一起使用,其含义与 LOAD DATA 的相应子句相同 | ||
--lock-all-tables | 锁定所有数据库中的所有 table | ||
--lock-tables | 转储之前锁定所有 table | ||
--log-error | 将警告和错误附加到命名文件 | ||
--login-path | 从.mylogin.cnf 中读取登录路径选项 | ||
--master-data | 将二进制日志文件的名称和位置写入输出 | ||
--max-allowed-packet | 发送到服务器或从服务器接收的最大数据包长度 | ||
--net-buffer-length | TCP/IP 和套接字通信的缓冲区大小 | ||
--no-autocommit | 将每个转储 table 的 INSERT 语句包含在 SET autocommit = 0 和 COMMIT 语句内 | ||
--no-create-db | 不要写 CREATE DATABASE 语句 | ||
--no-create-info | 不要编写重新创建每个转储 table 的 CREATE TABLE 语句 | ||
--no-data | 不要转储 table 内容 | ||
--no-defaults | 不读取选项文件 | ||
--no-set-names | 与--skip-set-charset 相同 | ||
--no-tablespaces | 不要在输出中写入任何 CREATE LOGFILE GROUP 或 CREATE TABLESPACE 语句 | ||
--opt | --add-drop-table --add-locks --create-options --disable-keys --extended-insert --lock-tables --quick --set-charset 的简写 | ||
--order-by-primary | 转储按主键或第一个唯一索引排序的每个 table 的行 | ||
--password | 连接服务器时使用的密码 | ||
--pipe | 使用命名管道连接到服务器(仅 Windows) | ||
--plugin-dir | 安装插件的目录 | ||
--port | 用于连接的 TCP/IP 端口号 | ||
--print-defaults | 打印默认选项 | ||
--protocol | 使用的传输协议 | ||
--quick | 一次从服务器检索 table 的行 | ||
--quote-names | 反引号字符内的引号标识符 | ||
--replace | 编写 REPLACE 语句而不是 INSERT 语句 | ||
--result-file | 直接输出到给定文件 | ||
--routines | 从转储的数据库中转储存储的例程(过程和函数) | ||
--secure-auth | 不要以旧(4.1 之前)格式向服务器发送密码 | Yes | |
--server-public-key-path | 包含 RSA 公钥的文件的路径名 | 5.7.23 | |
--set-charset | 将 SET NAMES default_character_set 添加到输出 | ||
--set-gtid-purged | 是否将 SET @@ GLOBAL.GTID_PURGED 添加到输出 | ||
--shared-memory-base-name | 共享内存连接的共享内存名称(仅 Windows) | ||
--single-transaction | 从服务器转储数据之前发出 BEGIN SQL 语句 | ||
--skip-add-drop-table | 不要在每个 CREATE TABLE 语句之前添加 DROP TABLE 语句 | ||
--skip-add-locks | 不添加锁 | ||
--skip-comments | 不要添加 Comments 到转储文件 | ||
--skip-compact | 不要产生更紧凑的输出 | ||
--skip-disable-keys | 不要禁用按键 | ||
--skip-extended-insert | 关闭扩展插入 | ||
--skip-opt | 关闭--opt 设置的选项 | ||
--skip-quick | 不要一次从服务器检索 table 的行 | ||
--skip-quote-names | 不引用标识符 | ||
--skip-set-charset | 不要写 SET NAMES 语句 | ||
--skip-triggers | 不要转储触发器 | ||
--skip-tz-utc | 关闭 tz-utc | ||
--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 | 根据服务器证书的通用名身份验证主机名 | ||
--tab | 产生制 table 符分隔的数据文件 | ||
--tables | 覆盖-数据库或-B 选项 | ||
--tls-version | 允许的 TLS 协议进行加密连接 | 5.7.10 | |
--triggers | 每个转储 table 的转储触发器 | ||
--tz-utc | 添加 SET TIME_ZONE ='00:00'来转储文件 | ||
--user | 连接服务器时使用的 MySQL 用户名 | ||
--verbose | 详细信息 | ||
--version | 显示版本信息并退出 | ||
--where | 仅转储给定 WHERE 条件选择的行 | ||
--xml | 产生 XML 输出 |
连接选项
mysqlcheck:table 维护程序
mysqlimport:一个数据导入程序
mysqlpump:数据库备份程序
mysqlshow:显示数据库、table和列信息