我正在尝试将数据从我的旧MySql Server传输到我的新服务器,我尝试使用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";
答案 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-grants
从Percona Tookit导出用户和权限。