本篇文章更新時間:2020/03/29
如有資訊過時或語誤之處,歡迎使用 Contact 功能通知或向一介資男的 LINE 社群反應。
如果本站內容對你有幫助,歡迎贊助支持


一直以為這是有「簡單」指令可以操作的事(ex: drop all tables; 之類的),後來找了一些資料發現:沒有!!

看討論,主要有兩招:

  1. 用各種能接上 MySQL 資料庫的方式,一個一個表慢慢刪。
  2. root 權限,整個把這資料庫一次刪除後重建過同名資料庫。

第二個方法快速又暴力,但避免可能因為權限過大,出現閃失,不建議使用。

所以第一個方法就是:先讀取出所有的資料表,然後組裝指令為依序刪除這些表。 BASH 範例如下:

DROPTABLES=`/path/to/mysql -uUSERNAME -p'USERPASSWORD' DATABASE_NAME -s -e 'show tables' | sed -e 's/^/drop table /' -e 's/$/;/'`
/path/to/mysql -uUSERNAME -p'USERPASSWORD' DATABASE_NAME -e "$DROPTABLES"

要濃縮成一個指令也可以,上例僅拆兩行解讀而已,整個超長~ 但自己寫成程式處理時肯定不只兩行了。


Share:

作者: Chun

WordPress 社群貢獻者、開源社群推廣者。專注於 WordPress 外掛開發、網站效能最佳化、伺服器管理,以及 iDempiere 開源 ERP 導入與客製開發。曾參與 WordCamp Taipei 等社群活動,GitHub Arctic Code Vault Contributor。提供資訊顧問、WordPress 開發教學、主機最佳化與企業 ERP 整合服務。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *


文章
Filter
Apply Filters
Mastodon