1、准备工作:
1.1检查Perl
[root@namenode ~]# rpm -qa perl-DBD-MySQL*
perl-DBD-MySQL-4.013-3.el6.x86_64
这个代表已经安装,如果没有安装
yum install perl-DBD-MySQL*
1.2下载
也可以用我提供的(我提供的修改过)下面几个文件。
1.3说明
提到的文件在linux下用vi编辑,如果在windows下用nodepad++这样的编辑。
2.安装调试
2.1 myawr.sql
我将授权注释了,因为在本地授权失败。推荐我这样做,手工执行建库。
然后vi这个myawr.sql增加use myawr,并且注释前面的建库和授权。
2.2复制myawr.sql等
将4个文件放到mysql的服务器上。
2.3执行myawr.sql
-rwxr-xr-x 1 root root 544 Jun 26 11:10 t.sh
[root@namenode backups]# mysql -u root -p1 < /data/backups/myawr.sql
Warning: Using a password on the command line interface can be insecure.
[root@namenode backups]#
执行完毕。检查一下是不是都有如下表了。
2.4.调用awr
[root@namenode backups]# perl myawr.pl -u root -p 1 -P 3306 -lh localhost -I 136 -i 600 -d sda1 -TP 3306 -tu root -tp 1 -th localhost
DBD::mysql::db do failed: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ',"/dev/sda1", 291, 39, 14, "/boot" , "2015-07-01 14:12:48
")' at line 1 at myawr.pl line 735.
说明:我执行的时候出这个错。但是我手动带入值执行确实成功的。这个问题没研究出来,无奈之下将这句注释。
perl myawr.pl -u root -p 1 -P 3306 -lh localhost -I 136 -i 600 -d sda1 -TP 3306 -tu root -tp 1 -th localhost
执行成功!
以上这些参数是:
-h,--help Print Help Info.
-i,--interval Time(second) Interval(default 1).
-d,--disk Disk Info(can't be null,default sda1).
-n,--net Net Info(default eth0).
-P,--port Port number to use for local mysql connection(default 3306).
-u,--user user name for local mysql(default user).
-p,--pswd user password for local mysql(can't be null).
-lh,--lhost localhost(ip) for mysql where info is got(can't be null).
-TP,--tport Port number to use formysql where info is saved (default 3306)
-tu,--tuser user name for mysql where info is saved(default user).
-tp,--pswd user password for mysql where info is saved(can't be null).
-th,--thost host(ip) for mysql where info is saved(can't be null).
-I,--tid db instance register id(can't be null,Reference myawr_host.id)
3.生成报告
3.1开始执行
[root@namenode backups]# perl myawrrpt.pl -u root -p 1 -P 3306 -lh localhost -I 136
后面就和Oracle的AWR报告一样了。
3.2打开html文件
1.定义
将myawr.Sql放到计划任务里面去,时间间隔自定义。