温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Python查询MySQL慢日志

发布时间:2020-06-28 17:48:15 来源:网络 阅读:181 作者:纪仁旺 栏目:系统运维

1.1、安装依赖pymysql
cd /usr/local/src/
wget https://files.pythonhosted.org/packages/44/39/6bcb83cae0095a31b6be4511707fdf2009d3e29903a55a0494d3a9a2fac0/PyMySQL-0.8.1.tar.gz
tar xf PyMySQL-0.8.1.tar.gz
cd PyMySQL-0.8.1
python setup.py install
查看pymysql是否安装成功:
python

import pymysql
pymysql.VERSION
(0, 8, 1, None)
exit()

看到版本信息即为安装完成!
1.2、安装依赖MysqlDb
cd /usr/local/src/
wget https://sourceforge.net/projects/mysql-python/files/mysql-python/1.2.3/MySQL-python-1.2.3.tar.gz/download
tar xf download
cd MySQL-python-1.2.3
python setup.py build
python setup.py install

1.3、Python脚本
more /opt/shell/templates/mysql_slowlog.py
#!/usr/bin/python
import sys
import MySQLdb
import time
import datetime
import MySQLdb.cursors
mysql_ip = sys.argv[1]
mysql_user = sys.argv[2]
mysql_password = sys.argv[3]
query_time = "00:0" + sys.argv[4] + ":00"
start_time = sys.argv[5] + " 00:00:00"
end_time = sys.argv[5] + " 23:59:59"

db = MySQLdb.connect(host=mysql_ip, user=mysql_user, passwd=mysql_password, db="mysql", port=3306)
cur = db.cursor()
query = "select t.start_time,t.query_time,t.user_host,t.rows_sent,t.rows_examined,t.sql_text from mysql.slow_log t where t.start_time>='%s' and t.start_time<'%s' and t.query_time >='%s'" %(start_time,end_time,query_time)
cur.execute(query)
r = cur.fetchall()
for a in r:
start_time =a[0]
query_time = a[1]
user_host = a[2]
rows_sent = a[3]
rows_examinetd = a[4]
sql_text =a[5]
print "\n"
print "%s\t%s\t%s\t%d\t%d\t%s" %(start_time,query_time,user_host,rows_sent,rows_examinetd,sql_text)
db.close()
1.3.1、执行Python脚本:IP 用户 密码 超过2秒 查询的时间
python /opt/shell/templates/mysql_slowlog.py 10.0.0.12 root 7$JlI@cgZc5$rW7N 2 2019-12-119

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI