![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Python
python_xep
这个作者很懒,什么都没留下…
展开
-
分析无主键表再做优化
背景新接手一项目,需要优化表,首先表中存在一些无主键的表,不确认是否用到了自增id做主键。需求:1.把id是主键的表字段存一文件中 这部分表不需要改动,只是记录就好,但如果只是id为主键但不bigint的后续也需要改。2.把存在主键 但不是id的表字段单独存在一文件中,后续需要做优化。3.没有主键的也存在一文件中,这部分优先处理。思路:首先想到的是information_schema.tables 和 columns关联 可以查出第一列信息(一般主键id都放在第一列 也存在例外)第一步先把表中原创 2021-06-11 13:41:37 · 190 阅读 · 2 评论 -
验证oracle数据与mysql数据同步的一致性
背景在之前搭建了databus 用于oracle数据同步到mysql,同时也用了otter+canal 用于mysql数据同步到oracle,之前也写过监控databus和验证数据的脚本,但也只是验证,真正邮件收到不一致的数据后需要来做修复。所以验证数据的脚本产生了。思路产生不一致的数据无非是mysql端或oracle端或多或少数据,我们只按照id来进行比对就好(每5000个id对比一次),通过set去重,最终结果输出到文本中。代码读取配制文件中的表名,将查到的结果存入set,用mysql ora原创 2021-05-08 16:41:43 · 574 阅读 · 0 评论 -
监控databus脚本
背景如上一文档本文主要是监控databus同步数据的延迟问题,和其运行端口的监控。引用模块代码如下:import cx_Oracleimport reimport requestsimport json由于我们调用企业微信发信息这块代码先忽略,如果不涉及信息提醒可以直接用print()打出如下:def msg(text): --modify by yourself print(text)根据记录的最大txn和client记录的txn比对超过500个事务报警:def selec原创 2021-04-27 10:41:32 · 195 阅读 · 1 评论 -
检验oracle与mysql库表数据发送邮件
背景:由于我们的环境使用otter,将mysql数据同步到oracle ,也有databus,将oracle数据同步到mysql ,所以需要写监控数据延迟和比对数据一致性,先写数据一致性比对脚本。这个是初版,后续可以加上不一致的数据用相应颜色显示等等。引用工具:cx-Oracle 8.1.0PyMySQL 1.0.2requests 2.25.1我们使用的python3.9 所以装cx-oracle时候一定要安装相应的版本。cx_Oracle-8.1.0-cp39-cp39-man原创 2021-04-27 10:24:14 · 124 阅读 · 0 评论 -
读取excel内容加到mysql表字段注释
研发组需要同步表数据,但维护表结构注释是记录在Excel中,同步10几张表,字段注释几百行,手动加太麻烦,同时也防止后续再加,所以写了如下脚本。脚本功能是读excel内容,第一列是表名/字段名 ,第二列是描述,第三列是demo (可以忽略)将字段注释使用alter table的方式加上。1.先引用包 我们用的openpyxl ,调试中用到了pdb 连接数据库用的是pymysqlimport openpyxlimport osimport pymysqlimport pdbhostnam原创 2021-04-07 09:33:38 · 309 阅读 · 1 评论 -
mysql导出数据写入文本转成excel文档
由于导出的数据量太大 预估可能需要百万行,用工具导几w行已是瓶颈,所以用sql查出数据 写入文本,再用Python写入excel。select path ,size,createtime into outfile 'alldata.csv' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n' from pusher_2_days where createtime > '2016-01-1原创 2021-02-19 09:34:52 · 136 阅读 · 0 评论 -
ImportError: libtk8.5.so: cannot open shared object file: No such file or direct
在引用turtle模块时 报错import turtleTraceback (most recent call last):File “”, line 1, in File “/usr/local/lib/python3.6/turtle.py”, line 107, in import tkinter as TKFile “/usr/local/lib/python3.6/tkinter/init.py”, line 36, in import _tkinter # If this fa原创 2020-11-04 20:02:51 · 2414 阅读 · 0 评论 -
验证数据表的一致性
@ (python验证数据表的一致性)用到的模块pymysql --第三方 需要安装configparser背景由于表之间没有使用外键,最近出现一些异常数据,需要把没有关联到的数据整理出来。设计思路如下:使用配制文件读取DB连接信息;创建配置表 记录主子表名和关联字段,另外记录当前执行的id,避免每次都要重新关联;创建结果表记录异常数据;config$ cat config.cnf[default]host=192.68.4.40user=usernamepassword=原创 2020-11-03 16:41:47 · 339 阅读 · 0 评论