在測試阿里云RDS(mysql)的時候双饥,需要刪除數(shù)據(jù)庫,簡單的使用drop database xxx后蝇完,RDS歡快的拒絕了我
mysql> drop database xxxx;
ERROR 1725 (HY000): OPERATION need to be executed set by ADMIN.
登錄到云后臺,RDS管理矗蕊,刪除數(shù)據(jù)庫短蜕,好吧確實可以刪,但是每次刪除都要管理員手機(jī)的驗證碼拔妥,作為一個程序猿忿危,是不喜歡每次這么去問驗證碼的,試了下刪除單張表没龙,是可以的铺厨,于是想到把所有表刪除,效果是一樣的硬纤,幾十張表解滓,也不能手工刪除,借助shell筝家,批量刪除
# TABLES=$(mysql -uxxx -pxxx -hrds_domain -BNe db_name 'show tables' | awk '{ print $1}')
#for t in $TABLES
>do
>mysql -uxxxr -pxxx -hrds_domain db_name -e "drop table $t"
>echo drop table $t
>done
當(dāng)然也可以把table name連接起來后用一個語句批量刪除洼裤,但是mysql -e對執(zhí)行的sql長度有限制,表不多的情況下沒問題溪王,表太多語句會被截斷腮鞍,導(dǎo)致執(zhí)行失敗。