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);
?>
发表评论