日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

phpMyAdmin导入大的sql文件

發布時間:2023/12/10 php 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 phpMyAdmin导入大的sql文件 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在使用phpMyAdmin的時候經常用到數據的導入和導出(Export/Import),但是在導入大數據的時候由于php上傳文件的限制和腳本響應時間的限制,導致phpMyAdmin無法導入大數據,對于導入大數據到mysql的,我以前使用過使用SHELL的方式導入幾百兆的文件到mySQL數據庫(原文),但是國內的虛擬主機絕大多數不像DreamHost一樣開放SHELL權限,而且多數都是Windows Server服務器。我們自己又沒有權限修改php.ini文件,對于這種情況我們可以使用phpMyAdmin提供的$cfg['UploadDir']方法,導入服務器上存在的.sql文件。 第一: 修改 PHP.ini file_uploads on 是否允許通過HTTP上傳文件的開關。默認為ON即是開 upload_tmp_dir  文件上傳至服務器上存儲臨時文件的地方,如果沒指定就會用系統默認的臨時文件夾 upload_max_filesize 20m   望文生意,即允許上傳文件大小的最大值。默認為2M post_max_size 30m     指通過表單POST給PHP的所能接收的最大值,包括表單里的所有值。默認為8M 修改后一定要重新啟動電腦或者重新啟動php
其次,找到phpMyAdmin的目錄,找到根目錄下的config.inc.php文件,然后找到 $cfg['UploadDir'] ,通過注釋(Directories for saving/loading files from server)就可以看出這是用來導入服務器上的SQL文件的方法。相對的就是 $cfg['SaveDir'] ,顧名思義就是把導出的SQL文件保存在服務器上的目錄中。 修改這個參數 $cfg['UploadDir'] = 'ImportSQLFile'; $cfg['SaveDir'] = 'ExportSQLFile'; 然后在phpMyAdmin中建立兩個文件夾,ImportSQLFile和ExportSQLFile,一個用作大數據的導入,一個用作數據導出備份。 然后把我們需要導入的sql文件復制到ImportSQLFile中,上傳到服務器上,選擇需要導入的數據庫名,選擇導入(Import),就會發現在文件導入(File to import)的地方多出來一個導入服務器上的SQL文件(web server upload directory)

最近一次在用phpmyadmin導入mysql數據庫時,偶的15M的數據庫不能導入,mysql數據庫最大只能導入2M..
phpmyadmin數據庫導入出錯:
You
probably tried to upload too large file. Please refer to documentation for ways
to workaround this
limit.
可以修改導入數據庫文件最大限制嗎?
到網上搜索了一下前人的解決辦法,大多數都說修改php.ini中的upload_max_filesize,但修改了這個以后,還是提示這個問題;但 phpmyadmin在提示這個問題的時候,右下角有一行英文提示,大致意思是說,解決這個問題,可以參考phpmyadmin文檔;直接點擊這個鏈 接,phpmyadmin自動查找到了以下說明:
[1.16]
I cannot upload big dump files (memory, http or timeout problems).
Starting
with version 2.7.0, the import engine has been re–written and these problems
should not occur. If possible, upgrade your phpMyAdmin to the
latest version to take advantage of the new import features.
The first
things to check (or ask your host provider to check) are the values of
upload_max_filesize, memory_limit and post_max_size in the php.ini configuration
file. All of these three settings limit the maximum size of data that can be
submitted and handled by PHP. One user also said that post_max_size and
memory_limit need to be larger than
upload_max_filesize.
以上文件大致說明的意思就是說,遇到導入過大文件時,首先檢查php.ini
配置文件中的以下三個地方,upload_max_filesize, memory_limit
和post_max_size,并且推薦修改的值要稍大于導入的巨大sql數據庫文件;依照這個提示,我修改了以上三個在php.ini中的值以后,重啟了php環境,再次導入時,雖然phpmyadmin還是顯示導入最大限制:20,480
KB,但巨大的80M數據庫文件已經被成功的導入 了。>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 如何在mysql中批量導入大的sql文本文件?
在實際工作中,有時經常地時行mysql數據庫的導入和導入操作,但對于大型sql文件導入時,phpmyadmin是不行的,有太多限制,比如記錄,內存等!  比較好的辦法仍是用mysql的source命令:
一、在客戶端下操作:
1、進行入客戶端
2、mysql>use
數據庫名(如果沒有,先建一個)
3、mysql>set names ‘utf8′;
(一般看導入的是什么格式的文件)
4、mysql>source
d:\\aaa.sql;
即可正常導入,如果有錯,可以看出錯提示  二、PHP文件操作:
建立a.php
里面有下面內容
mysql_connet(‘xxxx’);
mysql_query(“set
names ‘utf8′”);
mysql_query(“source
d:\\aaa.sql’”);原理同上,主要方便了無法使用命令行用戶的操作
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
如何在mysql中批量導入大的sql文本文件?
$file_name=”sql.sql”; //要導入的SQL文件名
$dbhost=”localhost”;
//數據庫主機名
$dbuser=”user”; //數據庫用戶名
$dbpass=”pass”;
//數據庫密碼
$dbname=”dbname”;????? //數據庫名??????? set_time_limit(0);
//設置超時時間為0,表示一直執行。當php在safe mode模式下無效,此時可能會導致導入超時,此時需要分段導入
$fp =
@fopen($file_name, “r”) or die(“不能打開SQL文件 $file_name”);//打開文件

mysql_connect($dbhost, $dbuser, $dbpass) or die(“不能連接數據庫 $dbhost”);//連接數據庫

mysql_select_db($dbname) or die (“不能打開數據庫
$dbname”);//打開數據庫
mysql_query(‘set names utf8′);
echo
“正在執行導入操作”;
while($SQL=GetNextSQL()){
if
(!mysql_query($SQL)){
echo
“執行出錯:”.mysql_error().”
“;
echo
“SQL語句為:
“.$SQL.”
“;
};
}
echo
“導入完成”;
fclose($fp) or die(“Can’t close file
$file_name”);//關閉文件
mysql_close();
//從文件中逐條取SQL

function GetNextSQL() {
global $fp;

$sql=”\";
while ($line = @fgets($fp, 40960)) {

$line = trim($line);

//以下三句在高版本php中不需要,在部分低版本中也許需要修改
$line =
str_replace(“\\\\\\\\”,”\\\\”,$line);
$line =
str_replace(“\\’”,”’”,$line);
$line =
str_replace(“\\\\r\\\\n”,chr(13).chr(10),$line);
//??????????????????????? $line
= stripcslashes($line);
if (strlen($line)>1)
{
if ($line[0]==”-” && $line[1]==”-”)
{
continue;

}
}

$sql.=$line.chr(13).chr(10);
if
(strlen($line)>0){
if
($line[strlen($line)-1]==”;”){

break;
}
}

}
return $sql;

}
?>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
mysql如何導入大SQL文件
今天需要對MYSQL導入一個13M的SQL文件,可是PHPMYADMIN只支持到2M,網上找了找,發現可以使用source命令,以下就是方法:
1.導入數據庫
常用source
命令
進入mysql數據庫控制臺,
如mysql -u atyu -p
mysql>use
web3guo
然后使用source命令,后面參數為腳本文件(如這里用到的.sql)
mysql>source
c:\\web3guo.sql
2.導出整個數據庫
mysqldump -u 用戶名 -p 數據庫名 >
導出的文件名
3.導出一個表
mysqldump -u 用戶名 -p 數據庫名 表名>
導出的文件名
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>MySQL 導入大SQL文件
2008年02月08日
星期五 下午
07:21剛導入一個從mysql庫導出的300多M的備份文件,因為phpmyadmin最多支持8M的,文件太大IE停止響應,所以在本地用
mysql -u
root -p yourpassword yourdatabasename
導出簡單命令:
mysqldump -u 用戶名 -p 數據庫名
> 導出的文件名
mysqldump -u root -p student
>d:\\student.sql>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Mysql導入大數據庫文件的辦法
phpmyadmin是個很方便的mysql數據庫管理工具,可以用來管理mysql數據庫,導入,導出等。
但是phpmyadmin在導入mysql的時候有個問題,如果要導入的數據庫文件比較大,那么導入就會失敗。下面教大家一個簡單有效的辦法,可以導入任意大小的mysql數據庫,理論上不論您的數據庫備份文件多大,都可以導入。
方法如下:
1.將數據庫備份文件(如backup.sql)上傳至網站根目錄。
2.將以下代碼保存為mysql.php文件,上傳至網站根目錄。
system(“mysql
-hdbhost -udbuser -ppassword dbname
其中
dbhost
改為您的數據庫服務器地址(小提示:一般主機默認數據庫服務器地址是:localhost)
dbuser 改為您的數據庫用戶名
password
改為您的數據庫用戶密碼
dbname
改為您的數據庫名
backup.sql表示通過ftp上傳到網站根目錄下數據庫文件的文件名(該文件是解壓縮后的文件)
3.在瀏覽器里面訪問mysql.php,假設你的網站域名是http://shop.tianxinled.com,那么就在瀏覽器里面輸入http: //shop.tianxinled.com,只要瀏覽器一訪問這個mysql.php文件,數據就開始導入,數據導入結束后,就會顯示“導入成功”的字 樣。這個時間根據您要導入的數據大小決定,一般時間很短。


轉載于:https://www.cnblogs.com/beyondhjjyt/archive/2013/03/28/3046528.html

總結

以上是生活随笔為你收集整理的phpMyAdmin导入大的sql文件的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。