2.3MySQL 自带工具使用介绍
1、mysql
首先看看“-e, --execute=name”参数,这个参数是告诉mysql,我只要执行“-e”后
面的某个命令,而不是要通过mysql 连接登录到MySQL Server 上面。此参数在我们写一些
基本的MySQL 检查和监控的脚本中非常有用,我个人就经常在脚本中使用到他。
如果在连接时候使用了“-E, --vertical”参数,登入之后的所有查询结果都将以纵列
显示,效果和我们在一条query 之后以“\G”结尾一样,这个参数的使用场景可能不是特别
多。
“-H, --html”与“-X, --xml”这两个参数很有意思的,在启用这两个参数之后,select
出来的所有结果都会按照“Html”与“Xml”格式来输出,在有些场合之下,比如希望Xml
或者Html 文件格式导出某些报表文件的时候,是非常方便的。
“--prompt=name”参数对于做运维的人来说是一个非常重要的参数选项,
“sky@localhost : test 04:25:45>”
“--tee=name”参数也是对运维人员非常有用的参数选项,用来告诉mysql,将所有输
入和输出内容都记录进文件。在我们一些较大维护变更的时候,为了方便被查,最好是将整
个操作过程的所有输入和输出内容都保存下来。有了“--tee=name”参数,就再也不用通过
copy 屏幕来保存操作过程了。
“-U, --safe-updates”,“--select_limit=#”和“--max_join_size=#”三个参数都
是出于性能相关考虑的参数。使用“-U, --safe-updates”参数之后,将禁止所有不能使用
索引的update 和delete 操作的请求,“--select_limit=#”的使用前提是有“-U, --safeupdates”
参数,功能是限制查询记录的条数,“--max_join_size=#”也需要与“-U, --safeupdates”
一起使用,限制参与join 的最大记录数。
“--show-warnings”参数作用是在执行完每一条query 之后都会自动执行一次“show
warnings”,显示出最后一次warning 的内容。
mysql 的所
有参数选项都可以写在MySQL Server 启动参数文件(my.cnf)的[mysql]参数group 中,还
有部分连接选项参数会从[client]参数group 中读取,这样很多参数就可以不用在每次执行
mysql 的时候都手工输入,而由mysql 程序自己自动从my.cnf 文件load 这些参数。
如果读者朋友希望对mysql 其他参数选项或者mysql 的其他更国有图有更深入的了解,
可以通过MySQL 官方参考手册查阅,也可以通过执行“mysql --help”得到帮助信息之后通
过自行实验来做进一步的深刻认识。当然如果您是一位基本能看懂c 语言的朋友,那么您完
全可以通过mysql 程序的源代码来发现其更多有趣的内容。
2、mysqladmin
Usage: mysqladmin [OPTIONS] command command ...
mysqadmin,顾名思义,提供的功能都是与MySQL 管理相关的各种功能。如MySQL Server
状态检查,各种统计信息的flush,创建/删除数据库,关闭MySQL Server 等等。mysqladmin
所能做的事情,虽然大部分都可以通过mysql 连接登录上MySQL Server 之后来完成,但是
大部分通过mysqladmin 来完成操作会更简单更方便。这里我将介绍一下自己经常使用到的
几个常用功能:
ping 命令可以很容易检测MySQL Server 是否还能正常提供服务
sky@sky:~# mysqladmin -u sky -ppwd -h localhost ping
mysqld is alive
status 命令可以获取当前MySQL Server 的几个基本的状态值:
sky@sky:~# mysqladmin -u sky -ppwd -h localhost status
Uptime: 20960 Threads: 1 Questions: 75 Slow queries: 0 Opens: 15 Flush
tables: 1 Open tables: 9 Queries per second avg: 0.3
processlist 获取当前数据库的连接线程信息:
sky@sky:~# mysqladmin -u sky -ppwd -h localhost processlist
+----+------+-----------+----+---------+------+-------+------------------+
| Id | User | Host | db | Command | Time | State | Info |
+----+------+-----------+----+---------+------+-------+------------------+
| 48 | sky | localhost | | Query | 0 | | show processlist |
+----+------+-----------+----+---------+------+-------+------------------+
上面的这三个功能是我在自己的一些简单监控脚本中经常使用到的,虽然得到的信息还
是比较有限,但是对于完成一些比较基本的监控来说,已经足够胜任了。此外,还可以通过
mysqladmin 来start slave 和stop slave,kill 某个连接到MySQL Server 的线程等等。
3、mysqldump
Usage: mysqldump [OPTIONS] database [tables]
OR mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]
OR mysqldump [OPTIONS] --all-databases [OPTIONS]
mysqldump 这个工具我想大部分读者可能都比较熟悉了,其功能就是将MySQL Server
中的数据以SQL 语句的形式从数据库中dump 成文本文件。虽然mysqldump 是做为MySQL 的
一种逻辑备份工具为大家所认识,但我个人觉得称他为SQL 生成导出工具更合适一点,因为
通过mysqldump 所生成的文件,全部是SQL 语句,包括数据库和表的创建语句。当然,通过
给mysqldump 程序加“-T”选项参数之后,可以生成非SQL 形式的指定给是的文本文件。这
个功能实际上是调用了MySQL 中的“select * into OUTFILE from ...”语句而实现。也可
以通过“-d,--no-data”仅仅生成结构创建的语句。在声称SQL 语句的时候,字符集设置这
一项也是比较关键的,建议每次执行mysqldump 程序的时候都通过尽量做到“--defaultcharacter-
set=name”显式指定字符集内容,以防止以错误的字符集生成不可用的内容。
mysqldump 所生成的SQL 文件可以通过mysql 工具执行。
4、mysqlimport
Usage: mysqlimport [OPTIONS] database textfile ...
mysqlimport 程序是一个将以特定格式存放的文本数据(如通过“select * into
OUTFILE from ...”所生成的数据文件)导入到指定的MySQL Server 中的工具程序,比如
将一个标准的csv 文件导入到某指定数据库的指定表中。mysqlimport 工具实际上也只是
“load data infile”命令的一个包装实现。
5、mysqlbinlog
Usage: mysqlbinlog [OPTIONS] log-files
mysqlbinlog 程序的主要功能就是分析MySQL Server 所产生的二进制日志(也就是大
家所熟知的binlog)。当我们希望通过之前备份的binlog 做一些指定时间之类的恢复的时
候,mysqlbinlog 就可以帮助我们找到恢复操作需要做哪些事情。通过mysqlbinlog,我们
可以解析出binlog 中指定时间段或者指定日志起始和结束位置的内容解析成SQL 语句,并
导出到指定的文件中,在解析过程中,还可以通过指定数据库名称来过滤输出内容。
6、mysqlcheck
Usage: mysqlcheck [OPTIONS] database [tables]
OR mysqlcheck [OPTIONS] --databases DB1 [DB2 DB3...]
OR mysqlcheck [OPTIONS] --all-databases
mysqlcheck 工具程序可以检查(check),修复(repair),分析( analyze)和优化
(optimize)MySQL Server 中的表,但并不是所有的存储引擎都支持这里所有的四个功能,
像Innodb 就不支持修复功能。实际上,mysqlcheck 程序的这四个功能都可以通过mysql 连
接登录到MySQL Server 之后来执行相应命令完成完全相同的任务。
7、myisamchk
Usage: myisamchk [OPTIONS] tables[.MYI]
功能有点类似“mysqlcheck -c/-r”,对检查和修复MyISAM 存储引擎的表,但只能对
MyISAM 存储引擎的索引文件有效,而且不用登录连接上MySQL Server 即可完成操作。
8、myisampack
Usage: myisampack [OPTIONS] filename ...
对MyISAM 表进行压缩处理,以缩减占用存储空间,一般主要用在归档备份的场景下,
而且压缩后的MyISAM 表会变成只读,不能进行任何修改操作。当我们希望归档备份某些历
史数据表,而又希望该表能够提供较为高效的查询服务的时候,就可以通过myisampack 工
具程序来对该MyISAM 表进行压缩,因为即使虽然更换成archive 存储引擎也能够将表变成
只读的压缩表,但是archive 表是没有索引支持的,而通过压缩后的MyISAM 表仍然可以使
用其索引。
9、mysqlhotcopy
Usage: mysqlhotcopy db_name[./table_regex/] [new_db_name | directory]
mysqlhotcopy 和其他的客户端工具程序不太一样的是他不是c(或者c++)程序编写的,
而是一个perl 脚本程序,仅能在Unix/Linux 环境下使用。他的主要功能就是对MySQL 中
的MyISAM 存储引擎的表进行在线备份操作,其备份操作实际上就是通过对数据库中的表进
行加锁,然后复制其结构,数据和索引文件来完成备份操作,当然,也可以通过指定“--
noindices”告诉mysqlhotcopy 不需要备份索引文件。
10、其他工具
除了上面介绍的这些工具程序之外,MySQL 还有自带了其他大量的工具程序,如针对离
线Innodb 文件做checksum 的innochecksum,转换mSQL C API 函数的msql2mysql,
dumpMyISAM 全文索引的myisam_ftdump,分析处理slowlog 的mysqldumpslow,查询mysql
相关开发包位置和include 文件位置的mysql_config, 向MySQL AB 报告bug 的mysqlbug,
测试套件mysqltest 和mysql_client_test , 批量修改表存储引擎类型的
mysql_convert_table_format, 能从更新日志中提取给定匹配规则的query 语句的
mysql_find_rows,更改MyIsam 存储引擎表后缀名的mysql_fix_extensions,修复系统表
的mysql_fix_privilege_tables,查看数据库相关对象结构的mysqlshow,MySQL 升级工具
mysql_upgrade,通过给定匹配模式来kill 客户端连接线程的mysql_zap,查看错误号信息
的perror,文本替换工具replace,等等一系列工具程序可供我们使用。如果您希望在MySQL
源代码的基础上做一些自己的修改,如修改MyISAM 存储引擎的时候,可以利用myisamlog
来进行跟踪分析MyISAM 的log。
2.3MySQL 自带工具使用介绍的更多相关文章
- MySQL 自带工具使用介绍
MySQL 数据库不仅提供了数据库的服务器端应用程序,同时还提供了大量的客户端工具程序,如mysql,mysqladmin,mysqldump 等等,都是大家所熟悉的.虽然有些人对这些工具的功能都已经 ...
- 性能测试开源小工具——http_load介绍
淘测试 性能测试开源小工具——http_load介绍 meizhu 发表于:2009-07-02 浏览:3552次 评论:1次 所属分类: 性能测试 性能测试开源小工具——http_load介绍 ht ...
- Expo大作战(二十七)--expo sdk api之Util(expo自带工具类),tackSnapshotAsync,Svg,SQLite
简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...
- Windows系统内存分析工具的介绍
Windows系统内存分析工具的介绍(进程管理器,资源管理器,性能监视器, VMMap, RamMap,PoolMon) 微软官方提供多种工具来分析Windows 的内存使用情况,除了系统自带的任 ...
- 如何利用 Visual Studio 自带工具提高开发效率
Visual Stuido 是一款强大的Windows 平台集成开发工具,你是否好好地利用了它呢? 显示行号 有些时候(比如错误定位)的时候,显示行号将有利于我们进行快速定位. 如何显示 1. 工具 ...
- 星型数据仓库olap工具kylin介绍
星型数据仓库olap工具kylin介绍 数据仓库是目前企业级BI分析的重要平台,尤其在互联网公司,每天都会产生数以百G的日志,如何从这些日志中发现数据的规律很重要. 数据仓库是数据分析的重要工具, 每 ...
- linux下内存泄露检测工具Valgrind介绍
目前在linux开发一个分析实时路况的应用程序,在联合测试中发现程序存在内存泄露的情况. 这下着急了,马上就要上线了,还好发现了一款Valgrind工具,完美的解决了内存泄露的问题. 推荐大家可以使用 ...
- Java XML解析工具 dom4j介绍及使用实例
Java XML解析工具 dom4j介绍及使用实例 dom4j介绍 dom4j的项目地址:http://sourceforge.net/projects/dom4j/?source=directory ...
- 【转载】JMeter学习(一)工具简单介绍
JMeter学习(一)工具简单介绍 一.JMeter 介绍 Apache JMeter是100%纯JAVA桌面应用程序,被设计为用于测试客户端/服务端结构的软件(例如web应用程序).它可以用来测试静 ...
随机推荐
- UNIX网络编程——TCP—经受时延与nagle算法、滑动窗口、拥塞窗口
1.经受时延: TCP在接收到数据时并不立即发送ACK,相反,它推迟发送,以便将ACK与需要沿该方向发送的数据一起发送,时延为200ms,超过时延范围,发送确认. 2.nagle算法: 一个TCP连接 ...
- Java中的this关键字
//Java中的this //this引用---->当前对象的引用 /* * 1.this在什么地方(非静态的)访问另外一个成员(非静态,可以是属性或者方法) * 前面都省略了this * 2. ...
- UNIX环境高级编程——System V 共享内存区
共享内存区域是被多个进程共享的一部分物理内存.如果多个进程都把该内存区域映射到自己的虚拟地址空间,则这些进程就都可以直接访问该共享内存区域,从而可以通过该区域进行通信.共享内存是进程间共享数据的一种最 ...
- Android项目-高考作文项目架构(二)
1, 普通的http json请求 请看下面架构草图: 这样就抽象出了其他Activity可能需要的Http Json请求的功能. 只要其他Activity有Http Json请求的需求都可以继承Ba ...
- 从JDK源码角度看线程池原理
"池"技术对我们来说是非常熟悉的一个概念,它的引入是为了在某些场景下提高系统某些关键节点性能,最典型的例子就是数据库连接池,JDBC是一种服务供应接口(SPI),具体的数据库连接实 ...
- TCP的ACK确认系列 — 延迟确认
主要内容:TCP的延迟确认.延迟确认定时器的实现. 内核版本:3.15.2 我的博客:http://blog.csdn.net/zhangskd 延迟确认模式 发送方在发送数据包时,如果发送的数据包有 ...
- javascript之DOM编程增加附件
在开始这个案例之前,需要学习一下有关于根据子关系节点获取标签的几个方法.罗列如下 /*通过关系(父子关系.兄弟关系)找标签.parentNode 获取当前元素的父节点.childNodes 获取当前元 ...
- (NO.00002)iOS游戏精灵战争雏形(十二)
首先要声明的是,前几篇实现的shoot方法不是一定会命中目标,这取决于目标运行的速度,子弹的速度,子弹发射的时机以及弹道路径中是否有障碍物等等. 这也是符合实际情况的.如果你的要求是一旦发出子弹必定击 ...
- ISLR系列:(4.2)模型选择 Ridge Regression & the Lasso
Linear Model Selection and Regularization 此博文是 An Introduction to Statistical Learning with Applicat ...
- 【一天一道LeetCode】#47. Permutations II
一天一道LeetCode系列 (一)题目 Given a collection of numbers that might contain duplicates, return all possibl ...