Ubuntu mysql 5.7.33 命令详解 (未集成)
开源数据库。
mysql --version
基本语法
mysql [OPTIONS] [database]
mysql client 组可读。
Options 选项
默认选项读取自以下文件 (按给定次序):
/etc/my.cnf
/etc/mysql/my.cnf
~/.my.cnf
参数 | EN 解释 | 中文翻译 | 备注 |
---|---|---|---|
-?, --help | Display this help and exit. | 显示此帮助并退出。 | |
-I, --help | Synonym for -? | -? 同义词 | |
--auto-rehash |
Enable automatic rehashing. One doesn't need to use 'rehash' to get table and field completion, but startup and reconnecting may take a longer time. Disable with --disable-auto-rehash. (Defaults to on; use --skip-auto-rehash to disable.) |
启用自动重新哈希。 不需要使用重新哈希完成表和字段,但启动和重新连接可能需要更长时间。 禁用采用 --disable-auto-rehash。 (默认为 on;使用 --skip-auto-rehash 去禁用。) |
|
-A, --no-auto-rehash |
No automatic rehashing. One has to use 'rehash' to get table and field completion. This gives a quicker start of mysql and disables rehashing on reconnect. |
不自动重新哈希。 必须使用重新哈希完成表和字段。 这样可更快启动 mysql 并在重新连接时禁用重新哈希。 |
|
--auto-vertical-output | Automatically switch to vertical output mode if the result is wider than the terminal width. | 自动切换到垂直输出模式,若结果宽于终端宽度。 | |
-B, --batch |
Don't use history file. Disable interactive behavior. (Enables --silent.) |
不使用历史记录文件。 禁用交互行为。 (启用 --silent) |
|
--bind-address=name | IP address to bind to. | 绑定 IP 地址。 | |
--binary-as-hex | Print binary data as hex | 将二进制数据打印为十六进制 | |
--character-sets-dir=name | Directory for character set files. | 字符集文件的目录。 | |
-column-type-info | Display column type information. | 显示列类型信息。 | |
-c, --comments |
Preserve comments. Send comments to the server. The default is --skip-comments (discard comments), enable with --comments. |
保留。 把注释发送给服务器。 默认为 --skip-comments (丢弃注释),启用采用 --comments。 |
|
-C, --compress | Use compression in server/client protocol. | 在服务器/客户端协议中使用压缩。 | |
-#, --debug[=#] | This is a non-debug version. Catch this and exit. | 这是非调试版本。捕获这并退出。 | |
--debug-check | This is a non-debug version. Catch this and exit. | 这是非调试版本。捕获这并退出。 | |
-T, --debug-info | This is a non-debug version. Catch this and exit. | 这是非调试版本。捕获这并退出。 | |
-D, --database=name | Database to use. | 要使用的数据库。 | |
--default-character-set=name | Set the default character set. | 设置默认字符集。 | |
--delimiter=name | Delimiter to be used. | 要使用的定界符。 | |
--enable-cleartext-plugin | nable/disable the clear text authentication plugin. | 启用/禁用明文身份验证插件。 | |
-e, --execute=name | Execute command and quit. (Disables --force and history file.) | 执行命令并离开。(禁用 --force 的历史记录文件。) | |
-E, --vertical | Print the output of a query (rows) vertically. | 垂直打印查询 (行) 输出。 | |
-f, --force | Continue even if we get an SQL error. | 即使遇到 SQL 错误仍继续。 | |
--histignore=name | A colon-separated list of patterns to keep statements from getting logged into syslog and mysql history. | 冒号分隔的模式列表以防止语句来自登陆 syslog 和 mysql 历史记录。 | |
-G, --named-commands |
Enable named commands. Named commands mean this program's internal commands; see mysql> help. When enabled, the named commands can be used from any line of the query, otherwise only from the first line, before an enter. Disable with --disable-named-commands. This option is disabled by default. |
启用命名命令。 命名命令表示该程序的内部命令;见 mysql> 帮助。 当启用时,可以在任何查询行中使用命名命令,否则只可在回车之前的第一行中使用。 禁用采用 --disable-named-commands。 此选项默认情况下是禁用的。 |
|
-i, --ignore-spaces | Ignore space after function names. | 忽略函数名后的空格。 | |
--init-command=name |
SQL Command to execute when connecting to MySQL server. Will automatically be re-executed when reconnecting. |
要执行的 SQL 命令当连接到 MySQL 服务器时。 将自动重新执行当重新连接时。 |
|
--local-infile | Enable/disable LOAD DATA LOCAL INFILE. | 启用/禁用 LOAD DATA LOCAL INFILE。 | |
-b, --no-beep | Turn off beep on error. | 关闭出错时的哔哔声。 | |
-h, --host=name | Connect to host. | 连接到主机。 | |
-H, --html | Produce HTML output. | 产生 HTML 输出。 | |
-X, --xml | Produce XML output. | 产生 XML 输出。 | |
--line-numbers |
Write line numbers for errors. (Defaults to on; use --skip-line-numbers to disable.) |
写入错误行号。 (默认为 on;使用 --skip-line-numbers 去禁用) |
|
-L, --skip-line-numbers | Don't write line number for errors. | 不写入错误行号。 | |
-n, --unbuffered | Flush buffer after each query. | 每次查询之后刷新缓冲。 | |
--column-names |
Write column names in results. (Defaults to on; use --skip-column-names to disable.) |
在结果中写入列名。 (默认为 on;使用 --skip-column-names 去禁用) |
|
-N, --skip-column-names | Don't write column names in results. | 不在结果中写入列名。 | |
--sigint-ignore | Ignore SIGINT (CTRL-C). | 忽略 SIGINT (CTRL-C)。 | |
-o, --one-database | Ignore statements except those that occur while the default database is the one named at the command line. | 忽略语句,除默认数据库是在命令行中一命名语句外。 | |
--pager[=name] |
Pager to use to display results. If you don't supply an option, the default pager is taken from your ENV variable PAGER. Valid pagers are less, more, cat [> filename], etc. See interactive help (\h) also. This option does not work in batch mode. Disable with --disable-pager. This option is disabled by default. |
用于显示结果的寻呼机。 若不提供选项,默认寻呼机将获取自 ENV 变量 PAGER。 有效寻呼机包括:less、more、cat [> filename]、等。 另请参阅交互帮助 (\h)。 此选项在批处理模式下不起作用。 禁用采用 --disable-pager。 此选项默认情况下是禁用的。 |
|
-p, --password[=name] |
Password to use when connecting to server. If password is not given it's asked from the tty. |
连接到服务器时要使用的口令。 若口令未给定,则从 tty 询问。 |
|
-P, --port=# | Port number to use for connection or 0 for default to, in order of preference, my.cnf, $MYSQL_TCP_PORT, /etc/services, built-in default (3306). | 用于连接的端口号,或默认为 0,按优先次序依次为 my.cnf、$MYSQL_TCP_PORT、/etc/services、内置默认 3306。 | |
--prompt=name | Set the mysql prompt to this value. | 将 mysql 提示设为此值。 | |
--protocol=name | The protocol to use for connection (tcp, socket, pipe, memory). | 用于连接的协议 (TCP、套接字、管道、内存)。 | |
-q, --quick |
Don't cache result, print it row by row. This may slow down the server if the output is suspended. Doesn't use history file. |
不缓存结果,逐行打印。 这可能降低服务器速度,若输出被挂起。 不使用历史记录文件。 |
|
-r, --raw | Write fields without conversion. Used with --batch. | 不转换写入字段。与 --batch 一起使用。 | |
--reconnect |
Reconnect if the connection is lost. Disable with --disable-reconnect. This option is enabled by default. (Defaults to on; use --skip-reconnect to disable.) |
重新连接若连接丢失。 禁用采用 --disable-reconnect。 此选项默认情况下是启用的。 (默认为 on;使用 --skip-reconnect 去禁用) |
|
-s, --silent |
Be more silent. Print results with a tab as separator, each row on new line. |
更沉默。 用制表符作为分隔符打印结果,每行换行。 |
|
-S, --socket=name | The socket file to use for connection. | 用于连接的套接字文件。 | |
-ssl-mode=name | SSL connection mode. | SSL 连接模式。 | |
--ssl |
Deprecated. Use --ssl-mode instead. (Defaults to on; use --skip-ssl to disable.) |
弃用。使用 --ssl-mode 代替。 (默认为 on;使用 --skip-ssl 去禁用) |
|
--ssl-verify-server-cert | Deprecated. Use --ssl-mode=VERIFY_IDENTITY instead. | 弃用。使用 --ssl-mode=VERIFY_IDENTITY 代替。 | |
--ssl-ca=name | CA file in PEM format. | 采用 PEM 格式的 CA 文件。 | |
--ssl-capath=name | CA directory. | CA 目录。 | |
--ssl-cert=name | X509 cert in PEM format. | 采用 PEM 格式的 X509 证书。 | |
--ssl-cipher=name | SSL cipher to use. | 要使用的 SSL 暗号。 | |
--ssl-key=name | X509 key in PEM format. | 采用 PEM 格式的 X509 密钥。 | |
--ssl-crl=name | Certificate revocation list. | 证书吊销列表。 | |
--ssl-crlpath=name | Certificate revocation list path. | 证书吊销列表路径。 | |
-tls-version=name | TLS version to use, permitted values are: TLSv1, TLSv1.1, TLSv1.2 | 要使用的 TLS 版本,容许值:TLSv1、TLSv1.1、TLSv1.2 | |
--server-public-key-path=name | File path to the server public RSA key in PEM format. | 采用 PEM 格式的服务器公共 RSA 密钥的文件路径。 | |
--get-server-public-key | Get server public key | 获取服务器公共密钥 | |
-t, --table | Output in table format. | 按表格格式输出。 | |
--tee=name |
Append everything into outfile. See interactive help (\h) also. Does not work in batch mode. Disable with --disable-tee. This option is disabled by default. |
将所有事情追加到输出文件。 另请参阅交互帮助 (\h)。 在批处理模式下不起作用。 禁用采用 --disable-tee。 此选项默认情况下是禁用的。 |
|
-u, --user=name | User for login if not current user. | 登录用户,若不是当前用户。 | |
-U, --safe-updates | Only allow UPDATE and DELETE that uses keys. | 只允许 UPDATE 和 DELETE 使用键。 | |
-U, --i-am-a-dummy | Synonym for option --safe-updates, -U. | 选项 --safe-updates、-U 的同义词。 | |
-v, --verbose | Write more. (-v -v -v gives the table output format). | 写入更多 (-v -v -v 给出表的输出格式)。 | |
-V, --version | Output version information and exit. | 输出版本信息并退出。 | |
-w, --wait | Wait and retry if connection is down. | 等待并重试若连接断开。 | |
--connect-timeout=# | Number of seconds before connection timeout. | 在连接超时之前的秒数。 | |
--max-allowed-packet=# | The maximum packet length to send to or receive from server. | 发送到或接收自服务器的最大数据包长度。 | |
--net-buffer-length=# | The buffer size for TCP/IP and socket communication. | TCP/IP 和套接字通信的缓冲大小。 | |
--select-limit=# | Automatic limit for SELECT when using --safe-updates. | 对 SELECT 的自动限制当使用 --safe-updates 时。 | |
--max-join-size=# | Automatic limit for rows in a join when using --safe-updates. | 对联接行的自动限制当使用 --safe-updates 时。 | |
--secure-auth | Refuse client connecting to server if it uses old (pre-4.1.1) protocol. Deprecated. Always TRUE | 拒绝客户端连接到服务器,若客户端使用旧的 (4.1.1 之前版本) 协议。弃用。始终 TRUE | |
--server-arg=name | Send embedded server this as a parameter. | 发送嵌入式服务器作为参数。 | |
--show-warnings | Show warnings after every statement. | 在每个语句之后展示警告。 | |
-j, --syslog |
Log filtered interactive commands to syslog. Filtering of commands depends on the patterns supplied via histignore option besides the default patterns. |
将过滤后的交互式命令日志到 syslog。 命令的过滤取决于凭借 histignore 选项提供的模式,除默认模式外。 |
|
--plugin-dir=name | Directory for client-side plugins. | 客户端侧插件的目录。 | |
--default-auth=name | Default authentication client-side plugin to use. | 要使用的默认身份验证客户端侧插件。 | |
--binary-mode |
By default, ASCII '\0' is disallowed and '\r\n' is translated to '\n'. This switch turns off both features, and also turns off parsing of all clientcommands except \C and DELIMITER, in non-interactive mode (for input piped to mysql or loaded using the 'source' command). This is necessary when processing output from mysqlbinlog that may contain blobs. |
默认情况下,ASCII \0 是不允许的,且 \r\n 会被翻译成 \n。 此开关关闭这两特征,且还能关闭所有客户端命令 (除 \C 和 DELIMITER 外)的剖析, 在非交互模式下 (用于通过管道输入到 mysql 或使用 source 命令加载输入)。 这是必要的,当处理来自可能包含 blobs 的 mysqlbinlog 的输出时。 |
|
--connect-expired-password | Notify the server that this client is prepared to handle expired password sandbox mode. | 通知:此客户端服务器已准备处理过期口令沙箱模式。 |
可给定作为第一自变量的选项
参数 | EN 解释 | 中文翻译 | 备注 |
---|---|---|---|
--print-defaults | Print the program argument list and exit. | 打印程序自变量列表并退出。 | |
--no-defaults | Don't read default options from any option file, except for login file. | 不要从任何选项文件中读取默认选项,除登录文件外。 | |
--defaults-file=# | Only read default options from the given file #. | 仅从给定文件 # 中读取默认选项。 | |
--defaults-extra-file=# | Read this file after the global files are read. | 读取此文件,在读取全局文件之后。 | |
--defaults-group-suffix=# | Also read groups with concat(group, suffix) | 还读取组采用 concat(group, suffix) | |
--login-path=# | Read this path from the login file. | 从登录文件读取此路径。 |
Variables 变量
变量 | 值 | 解释 | 备注 |
---|---|---|---|
auto-rehash | TRUE | ||
auto-vertical-output | FALSE | ||
bind-address | (No default value) | (无默认值) | |
binary-as-hex | FALSE | ||
character-sets-dir | (No default value) | (无默认值) | |
column-type-info | FALSE | ||
comments | FALSE | ||
compress | FALSE | ||
database | (No default value) | (无默认值) | |
default-character-set | auto | 自动 | |
delimiter | ; | ||
enable-cleartext-plugin | FALSE | ||
vertical | FALSE | ||
force | FALSE | ||
histignore | (No default value) | (无默认值) | |
named-commands | FALSE | ||
ignore-spaces | FALSE | ||
init-command | (No default value) | (无默认值) | |
local-infile | FALSE | ||
no-beep | FALSE | ||
host | (No default value) | (无默认值) | |
html | FALSE | ||
xml | FALSE | ||
line-numbers | TRUE | ||
unbuffered | FALSE | ||
column-names | TRUE | ||
sigint-ignore | FALSE | ||
port | 0 | ||
prompt | mysql> | ||
quick | FALSE | ||
raw | FALSE | ||
reconnect | TRUE | ||
socket | (No default value) | (无默认值) | |
ssl | TRUE | ||
ssl-verify-server-cert | FALSE | ||
ssl-ca | (No default value) | (无默认值) | |
ssl-capath | (No default value) | (无默认值) | |
ssl-cert | (No default value) | (无默认值) | |
ssl-cipher | (No default value) | (无默认值) | |
ssl-key | (No default value) | (无默认值) | |
ssl-crl | (No default value) | (无默认值) | |
ssl-crlpath | (No default value) | (无默认值) | |
tls-version | (No default value) | (无默认值) | |
server-public-key-path | (No default value) | (无默认值) | |
get-server-public-key | FALSE | ||
table | FALSE | ||
user | (No default value) | (无默认值) | |
safe-updates | FALSE | ||
i-am-a-dummy | FALSE | ||
connect-timeout | 0 | ||
max-allowed-packet | 16777216 | ||
net-buffer-length | 16384 | ||
select-limit | 1000 | ||
max-join-size | 1000000 | ||
secure-auth | TRUE | ||
show-warnings | FALSE | ||
plugin-dir | (No default value) | (无默认值) | |
default-auth | (No default value) | (无默认值) | |
binary-mode | FALSE | ||
connect-expired-password | FALSE |
功能 | 命令 | 文字解释 | 示例 | 示例解释 |
---|---|---|---|---|
帮助 | mysql -? | 展示帮助信息 | ||
mysql -I | ||||
mysql --help |
apt-get update --> apt-get dist-upgrade apt-get install mysql-server --> root 用户口令 6 --> dpkg -l mysql-server mysql -v -u root -p (检查 MySQL 版本,若提示错误请清洁移除再安装) --> 口令 6 --> exit --> service mysql status (检查 MySQL 状态,若提示错误请清洁移除再安装) apt-get install mysql-client --> dpkg -l mysql-client
管理数据库
mysql -v -u root -p (检查 MySQL 版本,若提示错误请清洁移除再安装) --> 口令 6 --> SHOW DATABASES; 创建数据库 CREATE DATABASE 数据库名; 移除数据库 drop database 数据库名;
启动服务
service mysql restart /etc/init.d/mysql stop 或 service mysql stop /etc/init.d/mysql start 或 service mysql start
目录结构
日志文件 /var/log/mysql/error.log 配置文件 /etc/mysql/my.cnf /etc/mysql/my.cnf.fallback /etc/mysql/conf.d /etc/mysql/mysql.conf.d
清洁移除 (包括现有数据库)
apt-get update --> apt-get dist-upgrade cd / --> apt-get purge mysql* --> apt-get autoremove --> find / -name mysql* --> find / -name mysql* | xargs rm -rf
解决错误
问题 [ERROR] InnoDB: mmap(137428992 bytes) failed; errno 12 #可用内存不足 解决办法 free -m #查看内存使用情况 每次重启后手动增加 swap 内存空间 vi /etc/mysql/my.cnf.fallback #编辑配置文件 innodb_buffer_pool_size = 8MB #结尾添加,设置内存范围 8-128MB (小于可用内存)
版权声明: 本文为独家原创稿件,版权归 乐数软件 ,未经许可不得转载。