问题: 此数据库为公司的测试数据库,每天有大量的日志sql需要清理,手动比较麻烦,因此写个python脚本来清理日志sql。

#! /usr/bin/env python
# -*- coding:utf-8 -*-
import pymysql #需先pip install pymysql模块
db = pymysql.connect(
host = '172.18.xx.xx',
port = 3306,
user = 'root',
password = 'xxxxx',
database = '5ainew',
charset = 'utf8'
)
cur = db.cursor() #建立连接
def exec(sql): #执行sql函数
cur.execute(sql)
# data = cur.fetchall() #显示执行结果
# print(data)
if __name__=='__main__':
sql0 = 'use 5ainew;' #设定需要执行的sql语句
sql1 = 'SET foreign_key_checks = 0;' #表有外键约束,需先关闭
sql2 = 'truncate table zb_telescope_entries;' #清空表
sql3 = 'truncate table zb_telescope_entries_tags'
sql4 = 'truncate table zb_telescope_monitoring'
sql5 = 'SET foreign_key_checks = 1;' #启动外键约束
exec(sql0)
exec(sql1)
exec(sql2)
exec(sql3)
exec(sql4)
exec(sql5)
当写好脚本后,放入每日的定时任务,就能够自动的清理。
