使用 mysqldump 倒出 MySQL 所有資料庫(表) 固定筆數的資料

想要快速建立開發、測試環境,資料庫的資料通常最難搞定。

此篇將隨意由 MySQL 的各個資料庫、各個 Table 倒出固定筆數的資料,然後快速匯入產生開發、測試環境。

  • 注意:此篇「沒辦法」搞定資料相依性、資料匿名、資料隱藏等等。

使用 mysqldump 倒出 MySQL 所有資料庫(表) 固定筆數的資料

MySQL 的備份都使用 mysqldump,而 mysqldump 裡面還有很多功能可以用,可以各個資料庫 或者 各別 Table 倒出資料,可見下述:

  • 語法:mysqldump -u [username] -p [dbname] {--opt} --where="true limit 100" > dump.sql

MySQL mysqldump sample 語法範例

  • mysqldump --opt --where="true LIMIT 300" --all-databases > alldb_300.sql # 所有資料庫各倒出300筆資料
  • mysqldump --opt --where="true LIMIT 1000" mydb > mydb_1k.sql # 從 mydb 的資料庫倒出 1000 筆資料
  • mysqldump --opt --where="true LIMIT 1000" mydb mytable > mydb_mytable_1k.sql # 從 mydb 資料庫的 mytable 倒出 1000 筆資料
  • mysqldump --skip-opt mydb --tables foo --where "foo_parent_id = 33 limit 100" > mydb-foo-33_100.sql # mydb 的 foo table 的 parend_id = 33 倒出 100筆資料
  • 註:上述都將 -u root -pPASSWORD 等等省略,請自行補上

MySQL 匯入資料

  • mysql -u root -p mydb_dev < mydb_1k.sql

相關網頁

作者: Tsung

對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料