将MySQL数据库传输到新服务器

时间:2012-04-23 17:31:52

标签: php mysql

我正在尝试将数据从我的旧MySql Server传输到我的新服务器,我尝试使用SQL Dumper,但我继续获取Error 500这些表是混乱的一半是MyISAM而另一半是InnoDB和说实话,服务器是最后一步。

我正在考虑使用iframesGET请求来传输数据(例如下面的例子)。如果有人有任何更好的想法,那将非常感激。

我正在转移的表格有3600万条记录,我已对其进行了测试,粗略计算将需要几个月才能转移所有记录。 我知道下面的方法可能是最低效的方法,但我想不出任何其他方法来做到这一点。

     $result = mysql_query("SELECT * FROM nu_list $limit");
        while($row = mysql_fetch_array( $result )) {

    print "<iframe src="http://mynewsite.com/add.php?row1=$row[1]&row2=$row[2]&row3=$row[3]" 
frameborder="0" scrolling="no" WIDTH="1" HEIGHT="1">\n";  } 


        $nxt = $_GET["pageno"] + 1;

        if($nxt < $lastpage) {
        print "<BODY>
        <script type=\"text/javascript\">
        <!--
        window.location = \"/ripw3.php?pageno=$nxt&lastpage=$lastpage\"
        //-->
        </script>
        </BODY>
        </HTML>\n";

2 个答案:

答案 0 :(得分:2)

如果您有权访问服务器并且可以对其进行shell,则应使用mysql dump来转储数据库的副本。然后将该sql文件传输到新服务器并导入它。

此网站提供了可靠的mysql dump import / export tutorial

如果你真的想用PHP完成这项任务,那么有些人会为backup mysql with php编写脚本。基本思想是显示所有表,循环遍历它们并描述每个表以构建create table语句,然后以小块的形式选择每个表中的数据并手动构建insert语句。尽管如此,与转储相比,这是一个可怕的痛苦。

如果您在共享主机上,则可能无法使用mysql转储,这可能会解释您的错误500.如果您在共享主机上,您可能可以从控制面板下载数据库的副本。

答案 1 :(得分:1)

您可以使用MySQL Workbench完整导出数据库,pt-show-grantsPercona Tookit导出用户和权限。