MySQL數據備份與恢復

ec3y 9年前發布 | 11K 次閱讀 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 


3.將數據庫mydb的結構導出到e:\MySQL\mydb_stru.sql文件中:

c:\>MySQLdump -h localhost -u root -p mydb --add-drop-table >e:\MySQL\mydb_stru.sql 
</span>

//-h localhost可以省略,其一般在虛擬主機上用 

二:備份mysql數據庫

1.命令行導出和導入MySQL數據庫 備份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.sql  


 
5.同時備份多個MySQL數據庫 
</span>

mysqldump -hhostname -uusername -ppassword –databases databasename1 databasename2 databasename3 > multibackupfile.sql 


6.僅僅備份數據庫結構 

mysqldump –no-data –databases databasename1 databasename2 databasename3 > structurebackupfile.sql 


7.備份服務器上所有數據庫 

mysqldump –all-databases > allbackupfile.sql  

三:還原mysql備份

1.還原MySQL數據庫的命令 

mysql -hhostname -uusername -ppassword databasename < backupfile.sql  


2.還原壓縮的MySQL數據庫 

gunzip < backupfile.sql.gz | mysql -uusername -ppassword databasename  


3.將數據庫轉移到新服務器 
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了。


五:下面談一下關于導入文件大小限制問題的解決</strong>
默認情況下:MySQL 導入文件大小有限制的,最大為2M,所以當文件很大時候,直接無法導入,下面就這個問題的解決列舉如下:
1.在php.ini中修改相關參數:

 
影響MySQL導入文件大小的參數有三個:


  1. 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不自帶,要單獨下載安裝。
 本文由用戶 ec3y 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!