1. 概述
MySQL數(shù)據(jù)庫(kù)的導(dǎo)入,有兩種方法:
1) 先導(dǎo)出數(shù)據(jù)庫(kù)SQL腳本,再導(dǎo)入;
2) 直接拷貝數(shù)據(jù)庫(kù)目錄和文件。
在不同操作系統(tǒng)或MySQL版本情況下,直接拷貝文件的方法可能會(huì)有不兼容的情況發(fā)生。
所以一般推薦用SQL腳本形式導(dǎo)入。下面分別介紹兩種方法。
Linux下:
2. 方法一 SQL腳本形式
操作步驟如下:
2.1. 導(dǎo)出SQL腳本-
在原數(shù)據(jù)庫(kù)服務(wù)器上,可以用phpMyAdmin工具,或者mysqldump(mysqldump命令位于mysql/bin/目錄中)命令行,導(dǎo)出SQL腳本。
2.1.1 用phpMyAdmin工具
導(dǎo)出選項(xiàng)中,選擇導(dǎo)出“結(jié)構(gòu)”和“數(shù)據(jù)”,不要添加“DROP DATABASE”和“DROP TABLE”選項(xiàng)。
選中“另存為文件”選項(xiàng),如果數(shù)據(jù)比較多,可以選中“gzipped”選項(xiàng)。
將導(dǎo)出的SQL文件保存下來(lái)。
2.1.2 用mysqldump命令行
命令格式
mysqldump -u用戶名 -p 數(shù)據(jù)庫(kù)名 > 數(shù)據(jù)庫(kù)名.sql
范例:
mysqldump -uroot -p abc > abc.sql
(導(dǎo)出數(shù)據(jù)庫(kù)abc到abc.sql文件)
提示輸入密碼時(shí),輸入該數(shù)據(jù)庫(kù)用戶名的密碼。
2.2. 創(chuàng)建空的數(shù)據(jù)庫(kù)
通過(guò)主控界面/控制面板,創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)。假設(shè)數(shù)據(jù)庫(kù)名為abc,數(shù)據(jù)庫(kù)全權(quán)用戶為abc_f。
2.3. 將SQL腳本導(dǎo)入執(zhí)行
同樣是兩種方法,一種用phpMyAdmin(mysql數(shù)據(jù)庫(kù)管理)工具,或者mysql命令行。
2.3.1 用phpMyAdmin工具
從控制面板,選擇創(chuàng)建的空數(shù)據(jù)庫(kù),點(diǎn)“管理”,進(jìn)入管理工具頁(yè)面。
在"SQL"菜單中,瀏覽選擇剛才導(dǎo)出的SQL文件,點(diǎn)擊“執(zhí)行”以上載并執(zhí)行。
注意:phpMyAdmin對(duì)上載的文件大小有限制,php本身對(duì)上載文件大小也有限制,如果原始sql文件
比較大,可以先用gzip對(duì)它進(jìn)行壓縮,對(duì)于sql文件這樣的文本文件,可獲得1:5或更高的壓縮率。
gzip使用方法:
# gzip xxxxx.sql
得到
xxxxx.sql.gz文件。
2.3.2 用mysql命令行
命令格式
mysql -u用戶名 -p 數(shù)據(jù)庫(kù)名 < 數(shù)據(jù)庫(kù)名.sql
范例:
mysql -uabc_f -p abc < abc.sql
(導(dǎo)入數(shù)據(jù)庫(kù)abc從abc.sql文件)
提示輸入密碼時(shí),輸入該數(shù)據(jù)庫(kù)用戶名的密碼。
3 方法二 直接拷貝
如果數(shù)據(jù)庫(kù)比較大,可以考慮用直接拷貝的方法,但不同版本和操作系統(tǒng)之間可能不兼容,要慎用。
3.1 準(zhǔn)備原始文件
用tar打包為一個(gè)文件
3.2 創(chuàng)建空數(shù)據(jù)庫(kù)
3.3 解壓
在臨時(shí)目錄中解壓,如:
cd /tmp
tar zxf mydb.tar.gz
3.4 拷貝
將解壓后的數(shù)據(jù)庫(kù)文件拷貝到相關(guān)目錄
cd mydb/
cp * /var/lib/mysql/mydb/
對(duì)于FreeBSD:
cp * /var/db/mysql/mydb/
3.5 權(quán)限設(shè)置
將拷貝過(guò)去的文件的屬主改為mysql:mysql,權(quán)限改為660
chown mysql:mysql /var/lib/mysql/mydb/*
chmod 660 /var/lib/mysql/mydb/*
把mysqldump出來(lái)的數(shù)據(jù)修改一下。除了要把表增加上) TYPE=MyISAM CHARACTER SET gbk;以外,在下面再增加一句SET NAMES GBK;
這樣,數(shù)據(jù)就可以平滑的導(dǎo)入4.1了,而不必怕出現(xiàn)亂碼。
Windows下:
DOS 窗口
開(kāi)始->運(yùn)行-> cmd
導(dǎo)出為: mysqldump -u 用戶名 -p --opt 數(shù)據(jù)庫(kù)用戶名 > 數(shù)據(jù)庫(kù)名.sql
輸入你的數(shù)據(jù)庫(kù)密碼!
導(dǎo)入為:mysql -u 用戶名 -p 數(shù)據(jù)庫(kù)用戶名 < 數(shù)據(jù)庫(kù)名.sql (要在當(dāng)前目錄下操作)
本文出自:億恩科技【www.riomediacenter.com】
服務(wù)器租用/服務(wù)器托管中國(guó)五強(qiáng)!虛擬主機(jī)域名注冊(cè)頂級(jí)提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM]
|