Backup-Restoration
如何將 phpmyadmin 的伺服器備份拆分為數據庫備份?
我有一個用 phpmyadmin 創建的大 .sql 文件來備份我的開發數據庫。有沒有辦法將這個大備份分成幾個文件,每個文件用於一個單獨的數據庫?文件太大,無法手動處理
檢查這裡也許它會幫助你http://www.rusiczki.net/2007/01/24/sql-dump-file-splitter/
但是,如果您可以遠端連接到數據庫,甚至可以訪問 shell,您應該使用 mysqldump 對每個數據庫甚至每個表進行備份。
這個 id 簡單的腳本將為您完成:
#!/bin/bash dbuser= dbpass= backupdir= $mysql -e "show databases" --user=$dbuser --password=$dbpass | $grep -v "Database" | while read dbase do $mkdir -p $backupdir/$dbase/ $mysqldump -c -u $dbuser --password=$dbpass $dbase > $backupdir/$dbase/full-$dbase.sql #if dont want to dump one table per sql file then erase next 4 lines then it will dump one database per sql file $mysql -e "show tables" --user=$dbuser --password=$dbpass $dbase | $grep -v "Tables_in_" | while read dbtable do $mysqldump -c -u $dbuser --password=$dbpass $dbase $dbtable > $backupdir/$dbase/$dbtable.sql done done
您必須更改/放置 dbuser dbpass 和 backupdir 並且腳本應該對伺服器上的每個數據庫進行完全轉儲(每個 sql 文件一個數據庫,每個 sql 文件在數據庫中的每個表)。此範例應在伺服器上執行,但只需稍作修改,您就可以使用它進行遠端轉儲。