MySQL對所有表收集統計資訊(Python 2指令碼)

feelpurple發表於2018-04-11


  1. [root@MySQL01 script]# vim analyze.py
  2. #!/usr/bin/env python
  3. # -*-encoding:utf8-*-
  4. #

  5. import MySQLdb
  6. import time
  7. step = 0
  8. db = MySQLdb.connect(host = '192.168.56.101',port = 3306,user = 'neo', passwd = 'neo' , db = 'information_schema')
  9. conn = db.cursor()

  10. sql = '''select TABLE_SCHEMA, table_name from information_schema.tables where table_schema not in ('information_schema', 'performance_schema', 'mysql') '''
  11. # print sql
  12. conn.execute(sql)
  13. if conn.rowcount > 0:
  14.         for item in conn.fetchall():
  15.                 sql = '''analyze table %s.%s''' % (item[0], item[1])
  16.                 print sql + ' operation executes successfully!'
  17.                 conn.execute(sql)

  18. time.sleep(0.5)

  19. conn.close()
  20. db.close()

  21. # 執行指令碼
  22. [root@MySQL01 script]# python2.6 analyze.py
  23. analyze table test.area operation executes
  24. analyze table test.class operation executes

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26506993/viewspace-2152815/,如需轉載,請註明出處,否則將追究法律責任。

相關文章