首页 > MySQL, news / tools, python > DMB(For MySQL)数据库监控备份工具

DMB(For MySQL)数据库监控备份工具

因为初学Python, 花费了几个礼拜的周末休息时间, DMB的雏形已经出来, 并提供下载使用(适合新手和偷懒的人高手跳过),有Bug和建议请及时发聩给我。

因为是初学,在编写DMB的时候,当中遇到一些问题,花费了不少时间来解决,这里总结下,也许能给后进者节约些宝贵的时间。

  • 涉及GUI多线程编程的时候,使用wx.CallAfter(), 如:wx.CallAfter(self.AfterRun);
  • 调用 subprocess.popen, 当子进程已经推出之后 stdin.close()调用会报错, 这时候可以用 try: process.stdin.close()  exception 来屏蔽错误;
  • gzip.GzipFile 对数据流压缩很方便,可以避免临时文件的产生,解压读取方便,效率也不错;
  • 获取硬件指纹 wmi 是个好东东;
  • 加密解密可以用 pyDES, M2Crypto;
  • 用py2exe生成.exe可执行文件的时候的icon可以用过 img2py 生成,然后在程序中设置,可以避免调用win32api,避免在 vista/win7下出错;
  • wx.wizard.Wizard的 finish按钮也可以通过 wizard.FindWindowById(wx.ID_FORWARD).Disable() 来屏蔽,这个浪费了我很长时间。

这次使用wxpython,算是对桌面程序的尝试,不过趋势还是采用B/S,也方便维护和管理人员远程监控和操作管理。如果有必要,会将DMB改造成B/S构架,准备用cherrypy提供web服务,跟系统进行交互。

PS:上周4参加了上海市闸北的云计算机大会,认识了化龙坊的Paul。交流的时候他提到中国不缺少优秀的开发人员,并且跟老外交流的障碍也少了,因为英语水平比以前好很多了,为啥在linux kernel和mysql上面中国没有多少贡献代码的?因为缺少组织。MySQL实验室的朋友应该记得很早之前我就提到过,尝试发展国内的MySQL分支,目标其实也是为了提供一个让大家展示的平台。比如MySQL中文全文索引,主从数据一致性校验如 Data drift,从而进一步涉及比如存储引擎InnoDB,MySQL自身代码的改良等。

PS2: MySQL实验室将在云计算和分布式数据存储(NoSQL)上发力,力图能为不同的应用场景提供适合的解决方案。这里提下,淘宝的江枫在Cassandra的运维管理上有了自己的经验和总结

Related posts:

  1. MySQL vs NoSQL 效率与成本之争
  2. Handler-Socket Plugin for MySQL – SQL的功能、NoSQL的性能
分类: MySQL, news / tools, python 标签: , , ,