3C科技 娛樂遊戲 美食旅遊 時尚美妝 親子育兒 生活休閒 金融理財 健康運動 寰宇綜合

Zi 字媒體

2017-07-25T20:27:27+00:00
加入好友
備份資料庫其中一種方式是使用 mysqldump 指令,例如我要備份一個名為db1的資料庫: mysqldump -u admin -p db1 # 參數說明 # -u: 使用者名稱 # -p: 密碼,指令enter後會要求輸入密碼,也可以直接將密碼連接在後面,如密碼為123456的話,參數改成 '-p123456' 後指令會直接執行,不會再次要求輸入密碼 1 2 3 4 mysqldump -u admin -p db1 # 參數說明 # -u: 使用者名稱 # -p: 密碼,指令enter後會要求輸入密碼,也可以直接將密碼連接在後面,如密碼為123456的話,參數改成 '-p123456' 後指令會直接執行,不會再次要求輸入密碼   若只要備份特定的資料表時,有三種方式 排除/忽略特定資料表 (Exclude / Ignore) 使用參數 --ignore-table 去排除,需完整名稱 (即 database.table);多個 table 無法使用逗點 (comma) 串接,需個別指定。適用於排除少數資料表。 mysqldump -u root -p123456 myDB --ignore-table=myDB.logs --ignore-table=myDB.users > dump.sql 1 mysqldump -u root -p123456 myDB --ignore-table=myDB.logs --ignore-table=myDB.users > dump.sql   指定資料表名稱 (Include) 在資料庫名稱後面指定資料表名稱,可指定多個資料表;無法使用 * 去指定特殊的 prefix / suffix;適用於匯出少數資料表。 mysqldump -u root -p123456 myDB table_1 table_2 table_3 > dump.sql 1 mysqldump -u root -p123456 myDB table_1 table_2 table_3 > dump.sql   包含特定資料表前綴/後綴或特定 pattern 的資料表 (Include prefix / suffix / pattern) 利用 sub command 在內層執行 SQL 先取得指定資料表名稱後,再執行外層的 mysqldump ,適用於資料表數量眾多,需匯出指定資料表也較多的資料庫。 mysqldump -u root -p123456 myDB $(mysql -u root -p123456 myDB -Bse "SHOW TABLES LIKE 'my_table_%'") > dump.sql 1 mysqldump -u root -p123456 myDB  $(mysql -u root -p123456 myDB -Bse "SHOW TABLES LIKE 'my_table_%'") > dump.sql 一般情況下用 LIKE 語法就夠了,若情況特殊,用 REGEXP 語法去撈也是可行的,需注意 WHERE 的欄位是 Tables_in_資料庫名稱 。 mysqldump -u root -p123456 myDB $(mysql -u root -p123456 myDB -Bse "SHOW TABLES WHERE `Tables_in_myDB` REGEXP 'table_[0-9]+_[A-Za-z]+'") > dump.sql 1 mysqldump -u root -p123456 myDB  $(mysql -u root -p123456 myDB -Bse "SHOW TABLES WHERE `Tables_in_myDB` REGEXP 'table_[0-9]+_[A-Za-z]+'") > dump.sql   Reference: http://stackoverflow.com/a/26514699/7521686 分享這篇文章 按一下以分享至 Facebook(在新視窗中開啟) 按一下以分享到 Google+(在新視窗中開啟) 分享到 Twitter(在新視窗中開啟) 分享到 LinkedIn(在新視窗中開啟) 分享到 Reddit(在新視窗中開啟) 分享到 Pocket(在新視窗中開啟)

本文由caloskaoorg提供 原文連結

寫了 5860316篇文章,獲得 23313次喜歡
精彩推薦