1. 程式人生 > >Mysql學習系列 -- 資料庫的備份與還原

Mysql學習系列 -- 資料庫的備份與還原

背景:伺服器上經常需要進行資料庫的備份以還原,備份經常通過定時任務完成,當資料庫出現問題時利用備庫進行一個數據庫的還原。

本次只是進行資料庫備份以及還原命令的學習,具體如下所示

一、資料庫備份

資料庫的備份命令是mysqldump

1、備份一個數據庫:

mysqldump -h localhost -u root -p123456 www > d:\www2018-4-26.sql  #www為資料庫名

2、備份MySQL資料庫為帶刪除表的格式

mysqldump -–add-drop-table -uusername -ppassword databasename > backupfile.sql
備份MySQL資料庫為帶刪除表的格式,能夠讓該備份覆蓋已有資料庫而不需要手動刪除原有資料庫。

3、資料庫壓縮備份
mysqldump -hhostname -uusername -ppassword databasename | gzip > backupfile.sql.gz
4、備份MySQL資料庫某個(些)表
mysqldump -hhostname -uusername -ppassword databasename specific_table1 specific_table2 > backupfile.sql
5、同時備份多個MySQL資料庫
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

8、將資料庫轉移到新伺服器

mysqldump -uusername -ppassword databasename | mysql –host=*.*.*.* -C databasename

二、匯入資料庫

資料庫的匯入有三種方式:source命令、mysql、gunzip命令

(1)source 命令

進入mysql資料庫控制檯,
mysql -u root -p
mysql>use 資料庫
然後使用source命令,後面引數為指令碼檔案(如這裡用到的.sql)
mysql>source /home/work/db/bkdb.sql

(2)mysql

mysql -hhostname -uusername -ppassword databasename < backupfile.sql
(3)gunzip
gunzip < backupfile.sql.gz | mysql -uusername -ppassword databasename