也許是因為我跟MySQL太不熟,長久以來我都以為MySQL裡面的wildcard character只有 % 跟 * (for host and table name),所以我就被愚弄了 Orz
之前寫的一個的MySQL服務會自動的加上 "帳號_" 的prefix,昨天我在檢查MySQL的時候突然發現有個資料庫是 "帳號-" 的prefix,心中第一個想法就是"糟糕! 遇到高手,第一天就被人玩爛了"。後來看了一下log跟user的設定發現是先用系統建立一個 xxx_test的db,然後在程式端因為打錯字,打成了xxx-test,妙的是系統竟然也接受,即便這個user沒有create的權限!!
後來經過一番survey才發現原來"_"也是個wildcard character,所以一旦建立了xxx_test的資料庫以及其對應的權限,user就可以自由的建立 xxx*test(ex: xxx-test,xxxatest,xxxbtest)。所幸發現的早,一下就搞定這個因為我的無知而造成的bug Orz
結論,所有東西的refernece manual都應該乖乖的看阿 Orz

通告: wildcard character