一个查找mysql数据库无主键表的脚本

说明:
遍历所有的库表然后查询是否具有主键

#/bin/bash
db_host=172.19.211.2 #db ip
db_name_list="chime sso xray intcomm pultus" #填写db_name 支持多个数据库,以空格隔开

for i in $db_name_list;do

  table_name_list=`mysql -h$db_host  -p'!qaz2Wsx' -e "use $i;show tables;"|egrep -v Tables_` #获取数据库表列表
for j in $table_name_list;do #遍历表
     mysql  -h$db_host  -p'!qaz2Wsx' -e " use $i; SHOW KEYS FROM $j WHERE Key_name = 'PRIMARY';" | grep "PRIMARY" >> /dev/null && echo " [`date  "+%Y-%m-%d %H:%M"`] $i.$j  is PRIMARY OK !">> PRIMARY_OK.log || echo "[`date  "+%Y-%m-%d %H:%M"`] $i.$j ">> not_PRIMARY.log 
done

done

posted @   ZANAN  阅读(41)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示