mysql大数据转移解决方案

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

请分两个步骤导出

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

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

导出数据库结构

进入phpmyadmin,按照如下步骤导出数据:

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

2.点击导出按钮。

3.选择只导出结构

4.下载数据库结构

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

导出数据库内容

1.进入phpmyadmin,导出数据:

选择只导出数据

2.下载数据库内容

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

 

导入数据库结构

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

由于结构的备份文件相当小,所以恢复结构请直接在phpmyadmin中恢复

导入数据库数据

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

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

  1. 下载这个文件 import,解压缩,放置在根目录中;
  2. 用记事本打开import.php,修改前面4行,您应该知道如何修改,就是把数据库密码和数据库用户名等等给填写正常;
  3. 解压缩刚才已经备份下来的数据库内容文件,重命名为 db.sql,上传到网站根目录;
  4. 打开你的网站 http://您的域名/import.php ,若设置正确的话,数据库将在数秒之内导入成功,即使10M的数据库也不会超时;

附import.php代码:

  1. define('DB_NAME', 'wordpress');
  2. define('DB_USER', 'wordpress');
  3. define('DB_PASSWORD', 'wordpress');
  4. define('DB_HOST', 'localhost');
  5. /*直接copy您wordpress数据库设置部分即可*/
  6. $mysql = mysql_connect(DB_HOST,DB_USER,DB_PASSWORD) or die("mysql connect fail, wrong password");
  7. mysql_select_db(DB_NAME)or die("select DB fail");
  8. mysql_query("set names utf8");
  9. $fp = fopen("db.sql","r") or die('can not open file');
  10. while( $s = fgets( $fp,100000 ) ){
  11. $m .= $s;
  12. }
  13. $sql_content = explode(";
    ",$m);
  14. $i = 0;
  15. $max = count($sql_content) ;
  16. while( $i < $max ){
  17. mysql_query( $sql_content [$i] );
  18. if( mysql_error()) echo mysql_error()."<br />";
  19. else{
  20. $n ++;
  21. }
  22. $i ++;
  23. }
  24. echo "<br />mysql queries:".$n;
  25. fclose($fp);

发表评论

电子邮件地址不会被公开。 必填项已用*标注