我正在尝试从我的旧MySql服务器传输数据到我的新服务器,我已经尝试使用SQL Dumper,但我不断得到Error 500表是一团糟一半是MyISAM,另一半是InnoDB,服务器是它的最后一条腿。
我正在考虑使用iframes和GET请求来传输数据(下面的示例)。如果有人有更好的想法,我们将不胜感激。
我正在传输的表有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";发布于 2012-04-24 01:44:08
如果您有访问服务器的权限,并且可以通过shell访问它,那么应该使用mysql dump来转储数据库的一个副本。然后将该sql文件传输到新服务器并将其导入。
这个站点提供了一个可靠的mysql dump import / export tutorial。
如果你执意要用php来完成这个任务,有一些人已经为backup mysql with php编写了脚本。基本思想是显示所有表,遍历它们并描述每个表,以便构建create table语句,然后以小块的形式选择每个表中的数据,并手动构建insert语句。不过,与垃圾场相比,这是一种可怕的痛苦。
如果你在一个共享主机上,你可能不能使用mysql转储,这也许可以解释你的错误500。但是,如果您在共享主机上,您可能可以从控制面板下载数据库的副本。
发布于 2012-04-24 01:38:22
您可以使用MySQL Workbench完成数据库的完整导出,使用Percona Tookit中的pt-show-grants导出用户和权限。
https://stackoverflow.com/questions/10285334
复制相似问题