常用工具
注意下面的命令都不需要登录进mysql,只需要在终端即可执行
一、mysql 该mysql不是指mysql服务,而是指mysql的客户端工具
语法 mysql [options] [database]
选项 | 作用 |
---|---|
-u, --user=name | 指定用户名 |
-p, --password[=name] | 指定密码 |
-h, --host=name | 指定服务器ip或域名 |
-P, --port=port | 指定连接端口,注意这个P是大写的 |
-e, --execute=name | 执行SQL语句并退出 |
注意 -e选项可以在MySQL客户端执行SQL语句,而不用连接到MySQL数据库再执行,对于一些批处理脚本,这种方式尤其方便
示例
xxxxxxxxxx
mysql -uroot -p123456 db01 -e "select * from stu"; #作用是在不登录MySQL的情况下,执行查询语句
打开linux终端,执行如下
mysql -h192.168.127.138 -P3306 -u root -p228675 bilibili -e "select * from stu";
上面那行的优点: 在不登录MySQL的情况下,执行查询语句,注意需要指定远程ip、端口、用户、密码、某个数据库、语句
二、mysqladmin
mysqladmin是一个执行管理操作的客户端程序。可以用它来检查服务器的配置和当前状态、创建并删除数据库等
通过帮助文档查看选项: mysqladmin --help
示例
xxxxxxxxxx
mysqladmin -uroot -p123456 drop 'test01';
mysqladmin -uroot -p123456 version;
打开linux终端,执行如下
mysqladmin --help
mysqladmin -h192.168.127.138 -P3306 -u root -p228675 version;#查看当前数据库版本
mysqladmin -h192.168.127.138 -P3306 -u root -p228675 variables;#查看当前数据库的系统变量信息
mysqladmin -h192.168.127.138 -P3306 -u root -p228675 create db02;#创建db02数据库
mysql -h192.168.127.138 -P3306 -u root -p228675 -e 'show databases';#查看当前数据库服务器中有哪些数据库
mysqladmin -h192.168.127.138 -P3306 -u root -p228675 drop db02;#删除db02数据库
三、mysqlbinlog
由于服务器生成的二进制日志文件以二进制格式保存,所以如果想要检查这些文本的文本格式,就会使用到mysqlbinlog日志管理工具 在MySQL数据库服务器有一份二进制日志binlog,会在后续有讲
语法 mysqlbinlog [options] log-files1 log-files2 ...
选项 | 作用 |
---|---|
-d, --database=name | 指定数据库名称,只列出指定的数据库相关操作 |
-o, --offset=# | 忽略掉日志文件中的前n行命令 |
-r, --result-file=name | 将输出的文本格式日志输出到指定文件 |
-s, --short-form | 显示简单格式,省略掉一些信息 |
--start-datatime=date1 --stop-datetime=data2 | 指定日期间隔内的所有日志 |
--start position=pos1 --stop-position=pos2 | 指定位置间隔内的所有日志 |
打开linux终端,执行如下
cd /var/lib/mysql && ll; #里面的binlog开头的文件就是二进制文件
cat binlog.000010; #发现都是乱码,原因是cat指令不能查看二进制文件里面的内容
#执行了上面那行的命令之后,linux的终端会全部乱码,只需要退出,然后重新登录进mysql即可解决
cd /var/lib/mysql && ll;
mysqlbinlog binlog.000010;#使用看到mysqlbinlog就能查看二进制文件
mysqlbinlog -s binlog.000010;#查看的内容会比较紧凑,省略掉一些不必要的信息
四、mysqlshow
mysqlshow客户端对象查找工具,用来很快地查找存在哪些数据库、数据库中的表、表中的列或者索引
语法 mysqlshow [options] [db_name [table_name [col_name]]]
选项 | 作用 |
---|---|
--count | 显示数据库及表的统计信息(数据库、表均可以不指定) |
-i | 显示指定数据库或者指定表的状态信息 |
打开linux终端,执行如下
#查询每个数据库的表的数量及表中记录的数量
mysqlshow -h192.168.127.138 -P3306 -u root -p228675 --count;
#查询bilibili库中每个表中的字段数、行数
mysqlshow -h192.168.127.138 -P3306 -u root -p228675 bilibili --count;
#查询bilibili库中stu表的详细情况
mysqlshow -h192.168.127.138 -P3306 -u root -p228675 bilibili stu --count;
#查询bilibili库中stu表的id字段的详细情况
mysqlshow -h192.168.127.138 -P3306 -u root -p228675 bilibili stu id --count;
#把上面的 --count换成-i,表示展示的是状态信息。如果显示的状态信息太多,也就是一行太长了,可以把结果
#复制到Notepad++软件里面,就显得美观啦
上面的详细情况包括type类型、collation字符集、null是否可为空、key是什么键、privileges权限、comment注释、...