如何匯入匯出MySQL資料庫

來源:互聯網
上載者:User

1. 概述
MySQL資料庫的匯入,有兩種方法:
1) 先匯出資料庫SQL指令碼,再匯入;
2) 直接拷貝資料庫目錄和檔案。

在不同作業系統或MySQL版本情況下,直接拷貝檔案的方法可能會有不相容的情況發生。
所以一般推薦用SQL指令碼形式匯入。下面分別介紹兩種方法。

2. 方法一 SQL指令碼形式
操作步驟如下:
2.1. 匯出SQL指令碼
在原資料庫伺服器上,可以用phpMyAdmin工具,或者mysqldump(mysqldump命令位於mysql/bin/目錄中)命令列,匯出SQL指令碼。
2.1.1 用phpMyAdmin工具
匯出選項中,選擇匯出“結構”和“資料”,不要添加“Drop DATABASE”和“Drop TABLE”選項。
選中“另存新檔檔案”選項,如果資料比較多,可以選中“gzipped”選項。
將匯出的SQL檔案儲存下來。

2.1.2 用mysqldump命令列
命令格式
mysqldump -u使用者名稱 -p 資料庫名 > 資料庫名.sql
範例:
mysqldump -uroot -p abc > abc.sql
(匯出資料庫abc到abc.sql檔案)

提示輸入密碼時,輸入該資料庫使用者名稱的密碼。

2.2. 建立空的資料庫
通過主控介面/控制台,建立一個資料庫。假設資料庫名為abc,資料庫全權使用者為abc_f。

2.3. 將SQL指令碼匯入執行
同樣是兩種方法,一種用phpMyAdmin(mysql資料庫管理)工具,或者mysql命令列。
2.3.1 用phpMyAdmin工具
從控制台,選擇建立的空資料庫,點“管理”,進入管理工具頁面。
在"SQL"菜單中,瀏覽選擇剛才匯出的SQL檔案,點擊“執行”以上傳並執行。

注意:phpMyAdmin對上傳的檔案大小有限制,php本身對上傳檔案大小也有限制,如果原始sql檔案
比較大,可以先用gzip對它進行壓縮,對於sql檔案這樣的文字檔,可獲得1:5或更高的壓縮率。
gzip使用方法:
# gzip xxxxx.sql
得到
xxxxx.sql.gz檔案。

2.3.2 用mysql命令列
命令格式
mysql -u使用者名稱 -p 資料庫名 < 資料庫名.sql
範例:
mysql -uabc_f -p abc < abc.sql
(匯入資料庫abc從abc.sql檔案)

提示輸入密碼時,輸入該資料庫使用者名稱的密碼。

方法2進入mysql,建立資料庫,選擇資料庫後,打入下面代碼,d:\112121.sql為資料庫目錄。

mysql>source d:\112121.sql

3 方法二 直接拷貝
如果資料庫比較大,可以考慮用直接拷貝的方法,但不同版本和作業系統之間可能不相容,要慎用。
3.1 準備原始檔案
用tar打包為一個檔案

3.2 建立空資料庫

3.3 解壓
在臨時目錄中解壓,如:
cd /tmp
tar zxf mydb.tar.gz

3.4 拷貝
將解壓後的資料庫檔案拷貝到相關目錄
cd mydb/
cp * /var/lib/mysql/mydb/

對於FreeBSD:
cp * /var/db/mysql/mydb/

3.5 使用權限設定
將拷貝過去的檔案的屬主改為mysql:mysql,許可權改為660
chown mysql:mysql /var/lib/mysql/mydb/*
chmod 660 /var/lib/mysql/mydb/*

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.