51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

mysql常用客户端工具的使用

因为工作中有时候会用到mysql的客户端工具,但是有的不常用的,慢慢就忘记了,所以,铁匠在这里把自己之前总结记录的mysql客户端工具使用方法写下来。

mysql客户端工具

--user,简写为-u
--host,简写为-h
--password,简写-p
--port
--protocol
--database DATABASE,-D(在连入数据库的时候,设定为链接的数据库为默认数据库)
例如:[root@tiejiang ~]# mysql -D mydb //这样的话,直接就是登陆mydb这个数据库了

mysql> 
   1、交互式模式
   2、批处理模式(脚本模式)

例:首先在命令行模式下,写一个sql文件 [root@tiejiang ~]# vim testdb.sql //创建一个sql文件 CREATE DATABASE testdb; //创建一个testdb的数据库 CREATE TABLE testdb.tb1(id INT, name CHAR(20)); //给testdb数据库创建一张表tb1,后面的是表的参数)保存退出。 [root@tiejiang ~]# mysql //进入mysql数据库 mysql> source /root/testdb.sql //直接用source来载入刚刚的testdb.sql文件 Query OK, 1 row affected (0.01 sec) Query OK, 0 rows affected (0.13 sec) mysql> SHOW DATABASES; //用SHOW来查看有没有创建出来testdb这个数据库 mysql> DROP DATABASE testdb; //用DROP来删除刚刚创建出来的testdb数据库用另一种方法载入刚刚的脚本文件。 [root@tiejiang ~]# mysql < testdb.sql //另外一种载入文件的方法,直接mysql来导入。 mysql> use testdb; //切换到testdb数据库 mysql> SHOW TABLES; //查看一下testdb数据库下的表内容

mysql客户端命令分为两类

mysql>

1、客户端命令
2、服务器命令(服务器语句结束符,默认为";"分号)

所有服务端语句都要有语句结束符才可以执行,客户端不需要语句结束符

客户端常用命令:

delimiter:修改语句结束符的话,用delimiter命令即可,快捷键\d
   例:mysql> delimiter //	//这里把双斜线代替了默认的“;”分号
       mysql> SHOW DATABASES//		//执行sql语句的时候,后面不再添加“;”号,直接//即可
clear:能够提前终止语句执行,快捷符号为\c
   例:mysql> SELECT User,host FROM user\c	//最后不加语句结束符“;”直接用\c就可以不执行当前语句。
connect:是重新链接到mysql服务上去的,快捷符号为\r
   例:mysql> connect		//输入这个重新链接后,会显示connection的id和正在打开的数据库是谁
go:无论语句结束符是什么,直接将此语句送至客户端执行,快捷符号为\g
   例:mysql> SHOW DATABASES\g		//不管之前设置的命令结束符是什么,这里加上\g,就代表输入的语句一定会执行。
ego:无论语句结束符是什么,直接将此语句送至客户端执行,而且以竖排的方式执行,快捷符号为\G
   例:mysql> SHOW DATABASES\G		//不管之前设置的命令结束符是什么,这里加上\G,就代表输入的语句一定会竖排执行。
print:显示当前正在执行的命令,快捷符号为\p
   例:mysql> \p	//直接显示当前正在指定的语句命令
source:载入sql文件,快捷符号为\.
   例:mysql> \. /root/testdb.sql		//用\.把testdb.sql文件载入到数据库中。
system:用这个命令不需要退出mysql,直接查看目录下的文件,快捷符号为\!
   例:mysql> \! ls /root		//用\! 后面加是ls /root,直接查看root目录下的文件,无需要退出mysql客户端。主要用来执行shell命令的
warnings:语句执行结束后显示警告信息,快捷符号为\W
nowarning:语句执行结果后不显示警告信息,快捷符号为\w
rehash:对于新建的对象,基于补全的功能,快捷符号为\#
--no-auto-rehash:禁用自动补全的命令,快捷符号为\-A

mysql客户端下引号的介绍

mysql> 【表示可以输入新的语句了】
->【语句没有结束还可以继续输入】
' >【缺少单引号的后一半】
">【缺双引号的后一半】
`>【缺反引号的后一半】
/*>【缺多行注释的后一半】

mysql的选项详解

--compress:语句先压缩再发送,先压缩再返回,可以节约带宽的。

mysql的输出格式

[root@tiejiang ~]# mysql --html		//把执行命令的结果用html格式显示出来
   mysql> SELECT User,Host FROM user;
     ERROR 1046 (3D000): No database selected
   mysql> use mysql
     Database changed
   mysql> SELECT User,Host FROM user;
     <TABLE BORDER=1><TR><TH>User</TH><TH>Host</TH></TR><TR><TD>root</TD><TD>127.0.0.1</TD></TR><TR><TD>root</TD><TD>localhost</TD></TR><TR><TD>root</TD><TD>tiejiang</TD></TR></TABLE>3 rows in set (0.00 sec)		//把加粗的html格式,复制到html里面,用浏览器打开,就是html格式的数据库显示了。

mysql常用客户端工具的使用_https://www.tiejiang.org_Linux安全运维_第1张

[root@tiejiang ~]# mysql --xml		/把执行命令的结果用xml格式显示出来,步骤如上所示。

服务器端命令

所有的服务端命令都要发到服务器上才可以执行,如果不会使用服务器端命令的话,直接使用help加上语句的关键字即可。

例如,想知道select命令怎么使用。

mysql> help SELECT //即可查看select命令的语法和帮助文档。

mysqladmin常用命令

[root@tiejiang ~]# mysqladmin -uroot -predhat create hellodb		//通过mysqladmin的create创建hellodb数据库
[root@tiejiang ~]# mysqladmin -uroot -predhat drop hellodb		//通过mysqladmin的drop删除hellodb数据库
[root@tiejiang ~]# mysqladmin ping		//看本地服务器mysql数据库是否在线
    mysqld is alive		//显示alive表示服务器正常运行状态
[root@tiejiang ~]# mysqladmin -uroot -p -h192.168.163.22 ping	//看192.168.163.22服务器mysql数据库是否在线(ping别的服务器)
[root@tiejiang ~]# mysqladmin processlist		//列出来服务器上正在执行的所有mysql线程
[root@tiejiang ~]# mysqladmin status		//显示mysql数据库运行的状态(用来统计服务器的工作数据的)
    Uptime: 9622  Threads: 7  Questions: 125  Slow queries: 0  Opens: 42  Flush tables: 1  Open tables: 32  Queries per second avg: 0.012
     Uptime:启动时间
     Threads:运行的线程数
     Questions:已经完成的查询数
     Slow querie:慢查询的次数
     Opens:打开的表数
     Flush tables:刷新的Flush的表数
     Open tables:打开的文件数
     Queries per second avg::平均下来mysql的每秒查询数
[root@tiejiang ~]# mysqladmin status --sleep 2		//两秒钟执行一次mysql数据库的运行状态(实时监控mysql的运行状态的时候非常有用)
[root@tiejiang ~]# mysqladmin status --sleep 2 --count 3		//用status看mysql的运行状态,用--sleep每两秒显示一次,用counts设置只显示三次。
[root@tiejiang ~]# mysqladmin extended-status		//mysql的状态变量以及值
[root@tiejiang ~]# mysqladmin variables		//服务器变量(用来定义服务器的工作属性的)
[root@tiejiang ~]# mysqladmin flush-tables		//关闭所有以打开的表
[root@tiejiang ~]# mysqladmin flush-threads		//重置线程缓存的
[root@tiejiang ~]# mysqladmin flush-status		//重置绝大多数的服务器状态变量
[root@tiejiang ~]# mysqladmin flush-logs		//做日志滚动的(主要实现二进制滚动和中继日志滚动,对错误日志不滚动)
[root@tiejiang ~]# mysqladmin flush-hosts		//清楚主机的内部信息(包括:DNS缓存、以及太多的连接错误而导致的用户登陆)
[root@tiejiang ~]# mysqladmin kill		//杀死一个线程(比如mysql一个内部县城被挂起了,用kill直接就可以杀死)
[root@tiejiang ~]# mysqladmin reload		//让mysql重读授权表
[root@tiejiang ~]# mysqladmin refresh		//表示flush-host和flush-logs同时执行
[root@tiejiang ~]# mysqladmin shutdown		//直接停止mysql服务器进程
[root@tiejiang ~]# mysqladmin version		//显示mysql的版本号和当前状态信息
[root@tiejiang ~]# mysqladmin status-slave		//启动从服务器的复制进程(会一下启动下面两个)
    1、SQL thread
    2、IO thread
[root@tiejiang ~]# mysqladmin stop-slave		//停止复制功能的

上面呢,是我大致的总结,如果有错误的,或者有补充的,欢迎大家,加入"铁匠运维网QQ群"和我们一起学习探讨。

赞(3)
未经允许不得转载:工具盒子 » mysql常用客户端工具的使用