十年網(wǎng)站開發(fā)經(jīng)驗 + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊
量身定制 + 運營維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
在使用PhpMyAdmin的時候經(jīng)常用到數(shù)據(jù)的導(dǎo)入和導(dǎo)出(Export/Import),但是在導(dǎo)入大數(shù)據(jù)的時候由于php上傳文件的限制和腳本響應(yīng)時間的限制,導(dǎo)致phpMyAdmin無法導(dǎo)入大數(shù)據(jù)。很多時候都是由于文件過大,從本地瀏覽上傳導(dǎo)入,容易中斷失敗,有沒有更好的方法呢?
創(chuàng)新互聯(lián)建站擁有網(wǎng)站維護(hù)技術(shù)和項目管理團(tuán)隊,建立的售前、實施和售后服務(wù)體系,為客戶提供定制化的成都網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè)、網(wǎng)站維護(hù)、成都服務(wù)器托管解決方案。為客戶網(wǎng)站安全和日常運維提供整體管家式外包優(yōu)質(zhì)服務(wù)。我們的網(wǎng)站維護(hù)服務(wù)覆蓋集團(tuán)企業(yè)、上市公司、外企網(wǎng)站、商城網(wǎng)站定制開發(fā)、政府網(wǎng)站等各類型客戶群體,為全球上千多家企業(yè)提供全方位網(wǎng)站維護(hù)、服務(wù)器維護(hù)解決方案。
方法:
在phpMyAdmin的目錄下,找到根目錄的config.inc.php文件,
打開config.inc.php文件,查找$cfg['UploadDir'],這個參數(shù)就是設(shè)定導(dǎo)入文件存放的目錄,這里把值設(shè)定為:ImportSQLFile。
在phpMyAdmin目錄下,建立以ImportSQLFile命名的文件夾,
把我們需要導(dǎo)入的數(shù)據(jù)文件,放到ImportSQLFile文件夾下面,非常簡單,
登入phpMyAdmin,選擇需要導(dǎo)入的數(shù)據(jù),點擊導(dǎo)航條上面的“導(dǎo)入”按鈕,
選中“從網(wǎng)站服務(wù)器上傳文件夾ImportSQLFile/中選擇:”選項,并需要導(dǎo)入的數(shù)據(jù)文件,
最后點擊“執(zhí)行”,即可導(dǎo)入成功。
注意事項
如果在config.inc.php文件,沒有找到$cfg['UploadDir'],可以自己在文件中添加上去即可。
方法/步驟
1
登錄到phpMyAdmin
2
新建一個要導(dǎo)入的數(shù)據(jù)庫,點擊“+new”
3
如圖,分別填寫數(shù)據(jù)庫名稱,以及選擇數(shù)據(jù)庫的排序規(guī)則,
4
完成步驟3,點擊“創(chuàng)建”
5
完成步驟4,從右側(cè)就可以看到我們新創(chuàng)建的數(shù)據(jù)庫了,如果沒有立即顯示,刷新即可立馬顯示了。
6
單擊我們新創(chuàng)建的數(shù)據(jù)庫,
7
然后,我們選擇“導(dǎo)入”,
8
完成步驟7,我們點擊“選擇文件”,
9
點擊了“選擇文件”之后,就會出現(xiàn)如圖所示的彈出框,我們選擇要導(dǎo)入的sql就可以了,后綴名可以是.sql,也可以是壓縮文件.zip。如圖,選擇好文件之后,點擊“確定”就可以了
10
完成步驟⑨,你就可以從剛才的頁面中看到自己上傳的文件了,如圖所示,其余選項默認(rèn)就可以了,然后點擊“執(zhí)行”就可以了。
11
這個時候,你就可以看到你的數(shù)據(jù)已經(jīng)導(dǎo)入到你新創(chuàng)建的數(shù)據(jù)庫中了
需要PHP基礎(chǔ)知識和數(shù)據(jù)庫基礎(chǔ)知識。
以SQL為例。使用PHP MySQL 函數(shù)可以編輯數(shù)據(jù)庫。
mysql_connect() 函數(shù)打開MySQL 連接。舉例
?php
$con = mysql_connect("localhost","mysql_user","mysql_pwd");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}// 一些代碼...mysql_close($con);
?
mysql_connect()三個參數(shù)分別是服務(wù)器名,連接賬號,連接密碼。
連接之后,可以使用mysql_select_db()設(shè)置要處理的數(shù)據(jù)庫,后面則是用數(shù)據(jù)庫語句處理數(shù)據(jù)。SQL語法簡介網(wǎng)頁鏈接
優(yōu)化SQL插入語句;
比如循環(huán)一條一條插入,改成鏈接多個值進(jìn)行插入。
將:
foreach($re as $it){
$sql="insert into table (id,name) values(".$it['id'].","."$it['name'].")";
mysql_query($sql);
}
改為:
$sql="insert into table (id,name) values";
foreach($re as $it){
$str= "'".$it['id']."','".$it['name']."'";
}
$sql .= "(".$str."),";
$sql2 = substr($sql,0,-1);
mysql_query($sql);
打開mysql的配置文件,my.ini文件,并找到:max_allowed_packet項;
將值修改大一點,具體根據(jù)自己需要修改。比如這里修改為:1G。
重啟mysql服務(wù);
5
如果運行頁面提示內(nèi)存溢出,可將值設(shè)大一點。
Allowed memory size of 134217728 bytes exhausted (tried to allocate 132907287 bytes)
步驟閱讀
6
這樣,面對千萬數(shù)據(jù)導(dǎo)入的時候,比原來那種方法至少快好多倍。