mysql客户端工具
常用的mysql客户端工具有这些:
mysql:这是一个命令行的客户端工具,在安装mysql服务器时,会自动安装的一个命令行工具。
mysqldump:这是用来备份mysql时用到的客户端工具
mysqladmin:这是一个比较常用的mysql客户端管理工具,功能比较强大,后文会介绍
mysqlcheck
mysqlimport
mysql命令
mysql命令分为mysql客户端命令和服务器端命令
mysql客户端命令
在使用账号和密码登入到mysql服务器上时,即出现”mysql>”字样是,表示用户登入成功。在该界面下,使用”\?”命令可以获取所有的mysql客户端命令,当然这里的mysql命令时不包含查询及其它sql命令。其中mysql常用的客户端命令有这些:
注意:mysql客户端命令后面不能接语句结束符
\c:提前终止sql语句执行(前面不能有用户结束符)
\d:定义语句结束符,默认为分号”;”
\s:获取服务端的状态信息
\. SQLTFILE:执行sql脚本文件
\q:退出mysql进程
\h KEYWORD:获取命令帮助
\g:无论语句结束符是什么,直接将此语句送至服务器端执行
\G:无论语句结束符是什么,直接将此语句送至服务器端执行,而且结果以竖排方式显示
\! COMMAND:可以执行shell命令
\W:语句结束后显示警告信息
\#:对新建的对象支持补全功能
mysql服务器端命令
服务器端命令就是我们所说的DDL语句、DML语句和DCL语句。
注意mysql服务器端命令后面必须接语句结束符,默认语句结束符为分号”;”。
如果使用的服务器端命令忘记了,可以使用help命令来查看。
help contents可以获取mysql支持的所有内容列表。
help KEYWORD可以获取相关关键字的使用格式
例如:mysql> help select;mysql> help Data Types;
mysql的提示符意义
mysql> 表示新语句的开始
→表示等待输入下一行语句
‘>表示等待输入另一个单引号作为该语句结束
“>表示等待输入另一个双引号作为该语句结束
`>表示等待输入另一个反引号作为该语句结束
/*>表示等待输入一个语句注释符(*/)作为该语句注释结束
mysql的自动补全功能
1、 关闭mysql的自动补全功能
使用命令 -A {--no-auto-rehash|--disable-auto-rehash}
例如:mysql> use mysql -A --no-auto-rehash
自动补全功能可以相对库或表来开启或关闭
2、 开启自动补全功能
mysql> \#或mysql> rehash
mysql客户端命令的使用
一、mysql命令的使用详解
mysql [option]
-u,--user=:指定登录用户名
-h:指定客户端主机地址
-p,--password=:指定密码
-P {tcp|socket}:指定通信协议
-port:指定服务器端口,默认为3306
--socket /path/to/socket_path:指定unix套接字路径
--compress:数据传输时进行数据压缩,可以节约带宽
-e:表示不登录mysql服务器上,执行mysql命令。
-V:显示服务器的版本信息
-v:显示详细信息
--ssl-ca:指定CA证书路径
--ssl-capath:指定ca证书的所在目录,系统会自动在这个目录找ca证书,如果有多个ca证书,那么使用此方式比较合适,该选项和上面一个选项,只需使用一个即可;
--ssl-cert:指定客户端证书
--ssl-cipher:指定加密类型
--ssl-key:指定私钥文件路径
--ssl-verify-server-cert 验证服务器端证书
--database,-D:指定要使用的数据库
-H,--html:输出结果为html格式的文档
-X,--xml:输出结果为xml格式的文档
--safe-updates:如果update语句或delete语句后面无where字句时,则拒绝发送该命令。但是如果后面加了limit字句的话,那么该命令也可以正常发送。该选项主要为了安全起见,避免整张表被修改或删除。
二、另一个常用的客户端命令--mysqladmin的使用
mysqladmin是一个客户端工具,用来管理mysql服务器的,它的功能非常强大,是一个非常常用且好用的客户端管理工具。
mysqladmin的语法格式如下:
mysqladmin [option] COMMAND [arg] [COMMAND [arg]]…
option:
-u USERANME:使用哪个用户的账号来管理
-p:跟密码相关的选项
COMMAND:
password ‘NEW_PASSWORD’:用来修改某用户的密码
例如:mysqladmin –u root –p password ‘abcd’
create DATABASE :创建库
drop DATABASE:删除指定库
ping:可以用来检查mysql服务器端是否在线
processlist:显示活动的mysql线程列表,等同于执行SHOW PROCESSLIST;语句
statues:输出简要服务器状态信息,这些状态信息包括:Uptime、Threads、Questions、Slow queries、Opens、Flush tables、Open tables、Queries per second avg
其中status还有2个子选项:
--sleep NUM:每隔几秒钟显示一次
--count:一共显示多少次
extended-status:显示服务器状态变量及其它们的值,相当于执行"mysql> show global status;"
variables:显示服务器变量及其它们的值
flush-privileges:让mysqld重读授权表,等同于reload
flush-status:重置大多数的服务器状态变量
flush-tables:关闭当前系统打开的表文件句柄
flush-logs:生成二进制和中继日志滚动
flush-hosts:刷新该主机上面的缓存信息,如DNS解析缓存,以及之前连接错误次数过多而拒绝访问mysqld的主机列表;
refresh:相当于同时执行flush-hosts和flush-logs
reload:重读授权表
shutdown:关闭mysql服务器进程
version:显示服务器版本及其当前状态信息
start-slave:启动复制,启动从服务器复制线程。
stop-slave:关闭从服务器复制功能
kill:杀死指定线程,可以一次杀死多个线程,彼此使用逗号隔开,不能有多余的空格。
debug:打开调试功能,并将其记录到error log中。
mysql的命令行编辑快捷键
ctrl+w:删除光标所在处之前的一个单词
ctrl+u:删除光标之前至行首的所有内容
ctrl+y:粘贴之前ctrl+w或ctrl+u删除的内容
ctrl+a:移动光标至行首
ctrl+e:移动光标至行尾