2

我正在尝试将数据从我的旧 MySql 服务器传输到我的新服务器,我曾尝试使用 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";
4

2 回答 2

2

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

这个站点提供了一个可靠的mysql dump 导入/导出教程

如果你一心想用 php 完成这项工作,那么有些人已经编写了脚本来用 php 备份 mysql。其基本思想是显示所有表,遍历它们并描述每个表以构建创建表语句,然后以小块选择每个表中的数据并手动构建插入语句。与垃圾场相比,这是一个可怕的痛苦。

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

于 2012-04-23T17:44:08.487 回答
1

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

于 2012-04-23T17:38:22.113 回答