站点图标 IDC铺

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 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; UserHostroot127.0.0.1rootlocalhostroottiejiang3 rows in set (0.00 sec) //把加粗的html格式,复制到html里面,用浏览器打开,就是html格式的数据库显示了。

[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群”和我们一起学习探讨。

退出移动版