mysql在windows下備份還原
MySQL資料庫在windows環境下備份與恢復
1. 概述
MySQL資料庫的匯入,有三種方法:
1) 先匯出資料庫SQL指令碼,再匯入;
2) 直接拷貝資料庫目錄和檔案。
在不同作業系統或MySQL版本情況下,直接拷貝檔案的方法可能會有不相容的情況發生。
所以一般推薦用SQL指令碼形式匯入。下面分別介紹兩種方法。
一,資料庫備份,一共三種方式。
第一種:
用mysqldump命令列備份資料庫。
命令格式
mysqldump -u使用者名稱 -p 資料庫名 > 儲存名.sql
範例:
mysqldump -uroot -p dataname > d:\abc.sql
(匯出資料庫data到abc.sql檔案)
提示輸入密碼時,輸入該資料庫使用者名稱的密碼。
第二種: 指定匯出備份編碼
mysqldump -u root -p密碼 --default-character-set=資料編碼 資料庫名稱> file.sql
案例:mysqldump -u root -p123456 --default-character-set=utf8 discuss_chi> 1.sql
第三種
用phpMyAdmin工具
匯出選項中,選擇匯出“結構”和“資料”,不要新增“DROP DATABASE”和“DROP TABLE”選項。
選中“另存為檔案”選項,如果資料比較多,可以選中“gzipped”選項。
將匯出的SQL檔案儲存下來。
二,恢復資料庫,一共二種方式。
第一種:
常用source 命令
進入mysql資料庫控制檯,
如mysql -u root -p
mysql>use databasename;
1、確定資料庫預設編碼,比如編碼為gbk,將讀入途徑編碼同樣設為gbk,命令為:
set names gbk;(匯入資料出現亂碼的時候用平常不用)
2、然後使用source命令,後面引數為指令碼檔案(如這裡用到的.sql)
mysql>source d:\wcnc.sql
第二種;定義還原編碼型別
定義編碼匯入
mysql -u root -p --default-character-set=utf8 -f dataname<dis.sql
如果亂碼使用二進匯入
mysql -u root -p --default-character-set=binary -f dataname<dis.sql
第三種:
用phpMyAdmin工具
從控制面板,選擇建立的空資料庫,點“管理”,進入管理工具頁面。
在"SQL"選單中,瀏覽選擇剛才匯出的SQL檔案,點選“執行”以上載並執行。
注意:phpMyAdmin對上載的檔案大小有限制,php本身對上載檔案大小也有限制,如果原始sql檔案
比較大,可以先用gzip對它進行壓縮,對於sql檔案這樣的文字檔案,可獲得1:5或更高的壓縮率。
gzip使用方法:
# gzip xxxxx.sql
得到
xxxxx.sql.gz檔案。
提示輸入密碼時,輸入該資料庫使用者名稱的密碼。
方法四
直接拷備MySQL安裝目錄下DATA目錄的資料庫即可
注:備份最好兩個方法都做
如果匯入匯出出現亂碼請使用下面方便備份還原試試(匯出和匯入都使用二進方式
)
匯出
mysqldump -u root -p --default-character-set=binary discuss_chi> dis.sql
匯入
mysql -u root -p --default-character-set=binary -f discuss_chi<dis.sql