程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> MYSQL數據庫的導出和導入方法詳解

MYSQL數據庫的導出和導入方法詳解

編輯:MySQL綜合教程

MySQL數據庫的導入,常用的兩種方法:1) 先導出數據庫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命令行。

MySQL數據庫導出
執行以下命令導出。

1./usr/local/mysql/bin/mysqldump -u root -p123456 zhumaohai | gzip > /home/backup/zhumaohai.sql.gz

如果導出所有數據據,則語句為:

1./usr/local/mysql/bin/mysqldump -u root -p123456 --all-databases | gzip > /home/backup/all.sql.gz

其中:root為數據庫用戶名
123456為對應root數據庫密碼
zhumaohai是需要導出的數據庫名。

/home/backup/zhumaohai.sql是數據庫文件sql導出的路徑。

MySQL數據庫導入
執行以下命令導入。

1.gunzip < /home/backup/zhumaohai.sql.gz | /usr/local/mysql/bin/mysql -u root -p123456 zhumaohai

導入所有數據庫:

1.gunzip < /home/backup/all.sql.gz | /usr/local/mysql/bin/mysql -u root -p123456


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/*

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved