VPS mysql工具 链接mysql工具
一、mysql客户端工具介绍
mysql是一个简单的SQL shell,具有输入行编辑功能。mysql工具是MySQL官方提供的连接工具,用户可以通过mysql连接到mysqld上进行一系列的SQL操作。mysql工具有两种模式:交互模式和命令行模式。交互模式指令需要连接到mysql服务器下达,命令行模式通过特定(-e)参数读取shell命令行传递的指令到服务器。交互使用时,查询结果以ASCII表格式显示。非交互使用时(例如,作为过滤器),结果以制表符分隔的格式显示。可以使用命令选项更改输出格式。
如果由于大结果集的内存不足而出现问题,请使用–quick选项。这迫使mysql一次从服务器检索一行结果,而不是检索整个结果集并在显示之前将其缓冲在内存中。这是通过使用客户机/服务器库中的mysql_use_result()C API函数而不是mysql_store_result()返回结果集来完成的。
二、使用示例
1、连接本地库
[root@test2 ~]# mysql -uroot -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 44 Server version: 5.7.26 MySQL Community Server (GPL) Copyright © 2000, 2019, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement. mysql>2、连接远程mysql库
[root@test1 backuptest]# mysql -uroot -p -h 192.168.0.125 -P 3306 Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 45 Server version: 5.7.26 MySQL Community Server (GPL) Copyright © 2000, 2019, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement. mysql>3、命令行模式直接执行命令
[root@test1 backuptest]# mysql -uroot -p -h 192.168.0.125 -P 3306 -e “show databases;” Enter password: ±-------------------+ | Database | ±-------------------+ | information_schema | | mysql | | performance_schema | | sys | | test1 | | test2 | | test3 | ±-------------------+4、通mysql导入逻辑备份文件恢复备份
此种方式导入逻辑备份要求mysqldump时使用-B参数,带库名一起备份,否则会报错。
[root@test2 backuptest]# mysql -uroot -p < test1.sql Enter password: ERROR 1046 (3D000) at line 22: No database selected [root@test2 backuptest]# [root@test2 backuptest]# mysql -uroot -p < test1.name.sql Enter password: [root@test2 backuptest]# ll total 997044 -rw-r–r-- 1 root root 102918382 Feb 9 11:30 2.sql -rw-r–r-- 1 root root 133827 Feb 9 13:43 all.d.sql -rw-r–r-- 1 root root 917015551 Feb 9 11:06 all.sql -rw-r–r-- 1 root root 5653 Feb 9 11:32 mysql.user.sql -rw-r–r-- 1 root root 8026 Feb 9 11:33 t2.sql -rw-r–r-- 1 root root 434943 Feb 9 13:44 test1.name.sql -rw-r–r-- 1 root root 434800 Feb 9 11:29 test1.sql -rw-r–r-- 1 root root 5113 Feb 9 11:42 user.root.sql5、mysql交互模式常用指令
mysql的交互模式的指令类型有两种:客户端指令和服务器端指令。其中客户端指令是mysql工具的内置指令,服务器端指令则是mysqld服务提供的操作指令,我们仅介绍客户端指令。
命令
说明
help
(\h) 获取帮助
connect
(\r) 重新连接
delimiter
(\d) 设置服务端语句的结束符,默认是分号
ego
(\G) 发送指令到服务器,等于语句结束符,但是以列的方式显示
exit
(\q) 退出mysql客户端
go
(\g) 发送指令到服务器,等于语句结束符
quit
(\q) 退出Mysql
source
(.) 执行系统上的sql脚本
status
(\s) 获取MySQL服务的基本信息
system
(!) 执行shell命令
tee
(\T) 分流输出
use
(\u) 选定使用的数据库
charset
(\C) 切换字符集
warnings
(\W) 语句的警告信息显示出来
nowarning
(\w) 不显示语句的警告信息
注:服务端指令执行需要指定结束符,而mysql不需要,默认结束符是分号。
三、参数说明
1、语法样式及常用参数
用法:mysql [OPTIONS] [database] -h, --help 显示帮助信息 -e, --execute=name 执行指定命令,命令行模式 -u, --user=name 指定连接的用户 -h, --host=name 指定主机名 -p, --password 指定密码 -P, --port 指定端口2、参数说明
选项名称
说明
备注
已弃用
–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
在发送到服务器的语句中保留还是删除注释
–compress
压缩客户端和服务器之间发送的所有信息
–connect-expired-password
指示服务器客户端可以处理过期密码沙箱模式
–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错误,也要继续
–get-server-public-key
从服务器请求RSA公钥
5.7.23
–help
显示帮助信息并退出
–histignore
模式指定日志记录要忽略的语句
–host
MySQL服务器所在的主机
–html
产生HTML输出
–ignore-spaces
忽略函数名称后的空格
–init-command
连接后执行的SQL语句
–line-numbers
输入行号以查找错误
–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
忽略SIGINT信号(通常是键入Control + C的结果)
–silent
静音模式
–skip-auto-rehash
禁用自动重新哈希
–skip-column-names
不要在结果中写列名
–skip-line-numbers
跳过行号以获取错误
–skip-named-commands
禁用命名的mysql命令
–skip-pager
禁用分页
–skip-reconnect
禁用重新连接
–socket
Unix套接字文件或Windows命名管道使用
–ssl
启用连接加密
–ssl-ca
包含受信任的SSL证书颁发机构列表的文件
–ssl-capath
包含受信任的SSL证书颁发机构证书文件的目录
–ssl-cert
包含X.509证书的文件
–ssl-cipher
连接加密的允许密码
–ssl-crl
包含证书吊销列表的文件
–ssl-crlpath
包含证书吊销列表文件的目录
–ssl-key
包含X.509密钥的文件
–ssl-mode
与服务器连接的所需安全状态
5.7.11
–ssl-verify-server-cert
根据服务器证书的通用名身份验证主机名
–syslog
将交互式语句记录到syslog
–table
以表格格式显示输出
–tee
将输出副本追加到命名文件
–tls-version
允许的TLS协议进行加密连接
5.7.10
–unbuffered
每次查询后刷新缓冲区
–user
连接服务器时使用的MySQL用户名
–verbose
详细模式
–version
显示版本信息并退出
–vertical
垂直打印查询输出行(每列值一行)
–wait
如果无法建立连接,请等待重试而不是中止
–xml
产生XML输出