由于数据库颇大,用常用的phpmyadmin等软件无法正常导入数据库(其实也可以,只不过又要修改配置文件),当然可以在cli下命令导入,但这毕竟不是一般人玩的,另外也可以通过帝国备份王、mysqldumper等软件进行分包导出导入,不过略显麻烦。其实一个简单的页面操作就可以了。
点击下载-http://linux-trip.googlecode.com/files/importDB.php
使用:下载后编辑文件,修改基本参数中的相应参数,如修改数据库名test、用户名root、导入文件名test.sql等。保存后与导入文件一并上传到网站(记得2个文件统一路径),访问importDB.php即可。
如果出现如下错误
Fatal error: Allowed memory size of XXXXX bytes exhausted (tried to allocate XXXXXX bytes)
说明php配置中的memory size值太小,把php.ini里的memory size值改大即可,如果是无法修改php.ini的,那就没办法了。
放上源码,来自这里http://www.storyday.com/html/y2009/2337_phpmyadmin-can-not-import-large-sql-solutions.html,我做了些修改。
<?php
//基本参数 Base Options
define('DB_NAME', 'test'); //数据库名 DataBase Name
define('DB_USER', 'root'); //数据库用户名 DataBase User
define('DB_PASSWORD', 'root'); //数据库密码 DataBase Password
define('DB_HOST', 'localhost'); //数据库地址 DataBase Address
define('DB_CHARSET', 'utf8'); //数据库编码 DataBase Charset
define('DB_FILE', 'test.sql'); //导入备份文件名 BackupFile Name
//核心代码 Core
$mysql = mysql_connect(DB_HOST,DB_USER,DB_PASSWORD) or die("mysql connect fail!");
mysql_select_db(DB_NAME) or die("select DataBase fail!");
mysql_query("set names ".DB_CHARSET);
$fp = fopen(DB_FILE,"r") or die('can not open file!');
while( $s = fgets( $fp,100000 ) ){
$m .= $s;
}
$sql_content = explode(";\n",$m);
$i = 0;
$max = count($sql_content) ;
while( $i < $max ){
mysql_query( $sql_content[$i] );
if( mysql_error()) echo mysql_error()."<br />Error!";
else{
$n ++;
}
$i ++;
}
echo "<br />mysql queries:".$n."<br />Done!";
fclose($fp);
?>
点击下载-http://linux-trip.googlecode.com/files/importDB.php
使用:下载后编辑文件,修改基本参数中的相应参数,如修改数据库名test、用户名root、导入文件名test.sql等。保存后与导入文件一并上传到网站(记得2个文件统一路径),访问importDB.php即可。
如果出现如下错误
Fatal error: Allowed memory size of XXXXX bytes exhausted (tried to allocate XXXXXX bytes)
说明php配置中的memory size值太小,把php.ini里的memory size值改大即可,如果是无法修改php.ini的,那就没办法了。
放上源码,来自这里http://www.storyday.com/html/y2009/2337_phpmyadmin-can-not-import-large-sql-solutions.html,我做了些修改。
<?php
//基本参数 Base Options
define('DB_NAME', 'test'); //数据库名 DataBase Name
define('DB_USER', 'root'); //数据库用户名 DataBase User
define('DB_PASSWORD', 'root'); //数据库密码 DataBase Password
define('DB_HOST', 'localhost'); //数据库地址 DataBase Address
define('DB_CHARSET', 'utf8'); //数据库编码 DataBase Charset
define('DB_FILE', 'test.sql'); //导入备份文件名 BackupFile Name
//核心代码 Core
$mysql = mysql_connect(DB_HOST,DB_USER,DB_PASSWORD) or die("mysql connect fail!");
mysql_select_db(DB_NAME) or die("select DataBase fail!");
mysql_query("set names ".DB_CHARSET);
$fp = fopen(DB_FILE,"r") or die('can not open file!');
while( $s = fgets( $fp,100000 ) ){
$m .= $s;
}
$sql_content = explode(";\n",$m);
$i = 0;
$max = count($sql_content) ;
while( $i < $max ){
mysql_query( $sql_content[$i] );
if( mysql_error()) echo mysql_error()."<br />Error!";
else{
$n ++;
}
$i ++;
}
echo "<br />mysql queries:".$n."<br />Done!";
fclose($fp);
?>