一个查找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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具