mysql大数据转移解决方案

其实以前写过一次phpmyadmin无法导入大文件的解决方案,然而有些东西,若不点透,还是会有很大批的网友不明白怎么操作。所以下面我只告诉步骤,不再讲任何原理,事实证明,任何原理,懂的人没有必要看,不懂的人他们不会去看,即使原理很浅显。

考虑用帝国备份王可忽视本文,不过方法还是值得大家了解学习。

首先在原来的phpmyadmin中分两步导出mysql数据库

请分两个步骤导出

第一步:导出数据库结构。数据库结构文件一般很小,几乎不可能超过2M,所以可以直接在另外一个phpmyadmin的上面直接恢复;

第二步:导出数据内容。这个文件若是太大,则可以采用cosbeta写的程序进行恢复(程序下载在本页最后,别急,请看完步骤再去下载)。

导出数据库结构

进入phpmyadmin,按照如下截图导出数据:

1.点击要导出的数据库名

2.点击导出按钮。

3.选择只导出结构

仔细看上面的选项,只需要把data那个勾去掉即可。只导出数据就恰恰相反,把structure勾去掉,data的勾选上

4.下载数据库结构

数据库结构的文件非常小,所以一般几秒钟即可搞定。

 

 

 

导出数据库内容

1.进入phpmyadmin,按照如下截图导出数据:

仔细看上面的选项,只需要把structure那个勾去掉即可。

2.下载数据库内容

因为您需要看了我这篇日志,所以,您的数据库文件应该不小,请耐心等待下载。

导入数据库结构

同样恢复数据库也分两步:1.恢复数据库结构;2.恢复数据库内容;

由于结构的备份文件相当小,所以恢复结构请直接在phpmyadmin中恢复,恢复过程参见下图:

选择数据库结构文件

导入数据库数据

本文的重点来了,你之所以看这篇日志,是因为您的数据太大,无法直接phpmyadmin,导入,所以我特意你写了一个脚本,直接在服务器上导入即可。

导入方法(请保证已经将数据库结构导入了新的数据库):

1.下载这个文件 import,解压缩,放置在根目录中;

2.用记事本打开import.php,修改前面4行,您应该知道如何修改,就是把数据库密码和数据库用户名等等给填写正常;

3.解压缩刚才已经备份下来的数据库内容文件,重命名为 db.sql,上传到网站根目录;

4.打开你的网站 http://您的域名/import.php ,若设置正确的话,数据库将在数秒之内导入成功,即使10M的数据库也不会超时。

 

 

 

define('DB_NAME', 'wordpress');

define(‘DB_USER’, ‘wordpress’);

define(‘DB_PASSWORD’, ‘wordpress’);

define(‘DB_HOST’, ‘localhost’);
/*直接copy您wordpress数据库设置部分即可*/

$mysql = mysql_connect(DB_HOST,DB_USER,DB_PASSWORD) or die(“mysql connect fail, wrong password”);

mysql_select_db(DB_NAME)or die(“select DB fail”);

mysql_query(“set names utf8”);

$fp = fopen(“db.sql”,”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().”
“;

else{

$n ++;
}
$i ++;
}
echo ”
mysql queries:”.$n;

fclose($fp);
?>

标签

发表评论