对多个mysql的一部分库进行执行sql语句

检查所有的数据库机器的所有库中某个表是否有rag_id_num

platform = $1
ipList=`getName ss $platform |grep sdb | awk '{print $1}'` 

for db in  $ipList ; do
        for i in ` mysql -urr -padmin -h $db -e "show databases "|grep -E "^ppte|^tmp"` ; do 

            info=`mysql -urr -padmin -h$db $i -e "show create table t_fragseize"  |grep frag_id_num`
            if [  -z  "$info" ]; then
                echo $db $i 
            fi
    done
done


将结果导入一个列表 mdb.list

192.168.3.20  tmp001

192.168.3.20  tmp002

192.168.3.20  tmp003

192.168.3.21  tmp001


将要对rag_id_num字段进行修改 修改命令在index.sql中 

awk '{printf("mysql -uadmin -pPASSWORD  -h%s  %s < index.sql\n",$1,$2)}' mdb_list  > run.sh



你可能感兴趣的:(mysql)