使用mysqlreport查看Mysql数据库信息

mysqlreport是www.hackmysql.com开发的一款基于perl语言编写的状态报告工具。

它将show status 和 show innodb status的输出结果进行处理,使得输出信息的可读性更高。由于是perl编写的脚本,所以需要先安装perl环境,再与mysql数据库连接,因此还需要安装数据库接口DBI 和数据库驱动 DBD-Mysql.

安装perl-DBI

yum install -y perl-DBI

安装mysqlreport

wget http://hackmysql.com/scripts/mysqlreport-3.5.tgz
tar zxvf mysqlreport-3.5.tgz
cd mysqlreport-3.5
perl mysqlreport -u root -password 12345

install_driver(mysql) failed: Can‘t locate DBD/mysql.pm in @INC (@INC contains: /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl /usr/lib/perl5/5.8.8/i386-linux-thread-multi /usr/lib/perl5/5.8.8 .) at (eval 8) line 3.
Perhaps the DBD::mysql perl module hasn‘t been fully installed,
or perhaps the capitalisation of ‘mysql‘ isn‘t right.
Available drivers: DBM, ExampleP, File, Proxy, Sponge.
 at ./mysqlreport line 249

出现以上错误,原因是没有安装DBD-mysql,下载安装

wget http://www.cpan.org/modules/by-module/DBD/DBD-mysql-4.020.tar.gz
cd DBD-mysql-4.020
perl Makefile.PL --mysql_config=/usr/local/mysql/bin/mysql_config
make
make install

把mysql的这个库文件路径添加进去

echo "/usr/local/mysql/lib/mysql" >> /etc/ld.so.conf
ldconfig

再使用mysqlreport

perl mysqlreport -u root -password 12345

脚本有些小的bug,会出现以下错误信息

Use of uninitialized value in multiplication (*) at mysqlreport line 829.
Use of uninitialized value in formline at mysqlreport line 1227.
Use of uninitialized value in formline at mysqlreport line 1235.

829行修改成如下方式,则不再提示错误

my $is = @_;
my $of = @_;
return sprintf "%.2f", ($is * 100) / ($of ||= 1);

再分析1227和1235行错误

1227 $stats{‘Innodb_buffer_pool_pages_latched‘}, perc($stats{‘Innodb_buffer_pool_pages_latched‘}, $stats{‘Innodb_buffer_pool_pages_total‘})
1235 $stats{‘Innodb_buffer_pool_read_ahead_seq‘}, t($stats{‘Innodb_buffer_pool_read_ahead_seq‘})

查看mysql官方手册

Innodb_buffer_pool_pages_latched

The number of latched pages in InnoDB buffer pool. These are pages currently being read or written or that cannot be flushed or removed for some other reason. Calculation of this variable is expensive, so as of MySQL 5.1.28, it is available only when the UNIV_DEBUG system is defined at server build time.

5.1.28后不默认提供这个参数了。除非编译的时候强制指定。

Innodb_buffer_pool_read_ahead_seq

The number of sequential read-aheads initiated by InnoDB. This happens when InnoDB does a sequential full table scan.

For InnoDB Plugin, this variable was removed in MySQL 5.1.41.

这个变量是InnoDB的存储引擎插件,在5.1.41以后就已经被移除,这里我的数据库是5.5.25,所以以上两个错误不是很重要。

最后执行mysqlreport -u -password 12345看看,以下是部分输出结果的显示

使用mysqlreport查看Mysql数据库信息,布布扣,bubuko.com

时间: 2024-12-25 23:14:09

使用mysqlreport查看Mysql数据库信息的相关文章

查看mysql数据库版本方法总结

当你接手某个mysql数据库管理时,首先你需要查看维护的mysql数据库版本:当开发人员问你mysql数据库版本时,而恰好你又遗忘了,那么此时也需要去查看mysql数据库的版本...............下文总结一下Linux平台下查看mysql数据库的方法.个人觉得总结的比较全面了. 方法1:登录数据库时,你可以看到对应mysql数据库的版本信息,如下所示: [[email protected] ~]# mysql -u root -p Enter password: Welcome to

使用go-mysql-elasticsearch同步mysql数据库信息到ElasticSearch

本文介绍如何使用go-mysql-elasticsearch同步mysql数据库信息到ElasticSearch. 1.go-mysql-elasticsearch简介 go-mysql-elasticsearch是一个将MySQL数据自动同步到Elasticsearch的服务. 它首先使用mysqldump获取原始数据,然后用binlog增量地同步数据. github地址:https://github.com/siddontang/go-mysql-elasticsearch 这里有几点注意事

修改及查看mysql数据库的字符集

修改及查看mysql数据库的字符集 Liunx下修改MySQL字符集:1.查找MySQL的cnf文件的位置find / -iname '*.cnf' -print /usr/share/mysql/my-innodb-heavy-4G.cnf/usr/share/mysql/my-large.cnf/usr/share/mysql/my-small.cnf/usr/share/mysql/my-medium.cnf/usr/share/mysql/my-huge.cnf/usr/share/te

查看MYSQL数据库中所有用户及拥有权限

查看MYSQL数据库中所有用户 mysql> SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user; 查看数据库中具体某个用户的权限mysql> show grants for 'cactiuser'@'%';

php 获取mysql数据库信息代码

有时候我们需要知道mysql数据库中的一些情况,好在php提供了一些内置方法与函数,大家了解下了. 代码如下: <?php @mysql_connect("localhost", "root","1981427") //选择数据库之前需要先连接数据库服务器 or die("数据库服务器连接失败"); $dbs = mysql_list_dbs(); //调用mysql_list_dbs函数 while ($array =

sql语句查看mysql数据库大小

1.查看mysql数据库大小SELECT sum(DATA_LENGTH)+sum(INDEX_LENGTH)FROM information_schema.TABLES where TABLE_SCHEMA='数据库名';得到的结果是以字节为单位,除1024为K,除1048576(=1024*1024)为M. 2.查看表的最后mysql修改时间select TABLE_NAME,UPDATE_TIME from INFORMATION_SCHEMA.tables where TABLE_SCH

查看MySQL数据库版本方法总结!

前言: 当你接手某个mysql数据库管理时,首先你需要查看维护的mysql数据库版本,或者当开发人员问你mysql数据库版本时,而恰好你又遗忘了,那么此时也需要去查看mysql数据库的版本.这些是我自己搜集的,分享给大家! 1.如果你是yum安装 rpm -qa|grep mysql或者rpm -qa|grep -i mysql mysql-server-5.1.73-3.el6_5.x86_64 如果你能登陆数据库 2.登陆时查看  mysql -u root -p 3.mysql> sele

查看mysql数据库大小、表大小和最后修改时间

查看数据库表基本信息. select * from information_schema.TABLES where information_schema.TABLES.TABLE_SCHEMA = '数据库名' and information_schema.TABLES.TABLE_NAME = '表名'; 查看mysql数据库大小 SELECT sum(DATA_LENGTH)+sum(INDEX_LENGTH) FROM information_schema.TABLES where TAB

三种方法查看MySQL数据库的版本

1.使用-V参数 首先我们想到的肯定就是查看版本号的参数命令,参数为-V(大写字母)或者--version 使用方法: D:\xampp\mysql\bin>mysql -V 或者 D:\xampp\mysql\bin>mysql --version 2.使用--?参数 其实这个有三个类似的参数 --help -I(大写的i) -? 这三个都是查看帮助信息的参数 使用方法: D:\xampp\mysql\bin>mysql -? 或者 D:\xampp\mysql\bin>mysq