MySQL數據備份與恢復
一:從數據庫導出數據庫文件</strong></span> 然后輸入密碼,等待一會導出就成功了,可以到目標文件中檢查是否成功。
1.將數據庫mydb導出到e:\MySQL\mydb.sql文件中: 打開開始->運行->輸入cmd 進入命令行模式
c:\>MySQLdump -h localhost -u root -p mydb >e:\MySQL\mydb.sql
</span>
2.將數據庫mydb中的mytable導出到e:\MySQL\mytable.sql文件中:
c:\>MySQLdump -h localhost -u root -p mydb mytable>e:\MySQL\mytable.sql
c:\>MySQLdump -h localhost -u root -p mydb --add-drop-table >e:\MySQL\mydb_stru.sql
</span>
//-h localhost可以省略,其一般在虛擬主機上用
二:備份mysql數據庫
mysqldump -hhostname -uusername -ppassword databasename > backupfile.sql
</span>
2.備份MySQL數據庫為帶刪除表的格式 備份MySQL數據庫為帶刪除表的格式,能夠讓該備份覆蓋已有數據庫而不需要手動刪除原有數據庫。
mysqldump -–add-drop-table -uusername -ppassword databasename > backupfile.sql</span>
3.直接將MySQL數據庫壓縮備份
mysqldump -hhostname -uusername -ppassword databasename | gzip > backupfile.sql.gz
4.備份MySQL數據庫某個(些)表
mysqldump -hhostname -uusername -ppassword databasename specific_table1 specific_table2 > backupfile.sql5.同時備份多個MySQL數據庫
</span>
mysqldump -hhostname -uusername -ppassword –databases databasename1 databasename2 databasename3 > multibackupfile.sql
mysqldump –no-data –databases databasename1 databasename2 databasename3 > structurebackupfile.sql
mysqldump –all-databases > allbackupfile.sql
三:還原mysql備份
mysql -hhostname -uusername -ppassword databasename < backupfile.sql
gunzip < backupfile.sql.gz | mysql -uusername -ppassword databasename
mysqldump -uusername -ppassword databasename | mysql –host=*.*.*.* -C databasename
四:從外部文件導入數據到數據庫中:
從e:\MySQL\mydb2.sql中將文件中的SQL語句導入數據庫中:
</span>
1.從命令行進入MySQL,然后用命令CREATE DATABASE mydb2;創建數據庫mydb2。
2.退出MySQL 可以輸入命令exit;或者quit; 3.在CMD中輸入下列命令:
c:\>MySQL -h localhost -u root -p mydb2 < e:\MySQL\mydb2.sql
然后輸入密碼,就OK了。
默認情況下:MySQL 導入文件大小有限制的,最大為2M,所以當文件很大時候,直接無法導入,下面就這個問題的解決列舉如下:
1.在php.ini中修改相關參數:
影響MySQL導入文件大小的參數有三個:
memory_limit=128M,upload_max_filesize=2M,post_maxsize=8M
修改upload ......
</span>以上的相關內容就是對MySQL導入導出.sql文件的介紹,望你能有所收獲。
總結:在MySQL中備份方式又三種:
(1) 使用mysqldump -u root - p dbName tablename1 ,tablename2 ....>backUpname.sql;
(2)這種備份速度最快:就是將要備份的數據目錄直接復制就可以。這中復制比較快,但是在復制的時候要停止服務器的工作,不然會出現數據不一致的現象,但是在實際使用是不會停止服務器,所以這種備份方式不是最好的。 還有這種備份方式對于myisam這種存儲引擎很適應但是不能使用在innodb這種存儲引擎中,因為innodb類型表的表空間不能直接復制。
(3) 使用mysqlhotcop 進行備份這種備份速度比mysqldump速度快,但是mysqlhotcop這種備份工具mysql不自帶,要單獨下載安裝。