在共享主机上备份大型数据库。尝试了mysqldump和phpmyadmin

在共享主机上备份大型数据库。尝试了mysqldump和phpmyadmin,mysql,database,phpmyadmin,mysqldump,Mysql,Database,Phpmyadmin,Mysqldump,所以我在godaddy共享主机上。需要用500mb数据备份大约20个表的数据库和数据 已尝试解决方案: 1。解决方案:phpmyadmin 尝试简单地导出表并开始导出,但由于错误,在导出过程中失败 mysql server has gone away 所以试图通过增加等待超时来解决这个问题,但也失败了,因为我在共享主机上,它不允许我。给了我类似这样的错误 #1227 - Access denied; you need (at least one of) the SUPER privilege(

所以我在godaddy共享主机上。需要用500mb数据备份大约20个表的数据库和数据

已尝试解决方案:

1。解决方案:phpmyadmin

尝试简单地导出表并开始导出,但由于错误,在导出过程中失败

mysql server has gone away
所以试图通过增加等待超时来解决这个问题,但也失败了,因为我在共享主机上,它不允许我。给了我类似这样的错误

#1227 - Access denied; you need (at least one of) the SUPER privilege(s) for this operation
2。已尝试解决方案:mysqldump

运行以下命令以备份包含110000行的表

mysqldump --user xxxxx --password=XXXXXXXXX Username wp_pc_products >> wp_pc_product.sql
这导致文件大小为55M,仅包含124行

55M wp_pc_product.sql
实际问题:


正在尝试将我的数据库从共享主机迁移到VPS

mysqldump
只需要一个
&而不是两个
>
。你能改变吗

对于
wp\u pc\u products
表,您可以确定mysql表中的哪一行是最后一个要导出的行。如果您尝试使用带有
-p
选项的
mysqldump
导出整个数据库,会发生什么情况。这样行吗?
您是否尝试导出任何其他表&查看它们是否被完全导出

mysqldump
只需要一个
&而不是两个
>
。你能改变吗

对于
wp\u pc\u products
表,您可以确定mysql表中的哪一行是最后一个要导出的行。如果您尝试使用带有
-p
选项的
mysqldump
导出整个数据库,会发生什么情况。这样行吗?
您是否尝试导出任何其他表&查看它们是否被完全导出

解决方案1

可能最大允许大小为55MB,请在mysql shell中尝试此命令:

show variables like 'max%' ;
它将以字节为单位显示允许的最大大小

您可以尝试使用以下命令将允许的最大数据包大小设置为600MB:

set max_allowed_packet = 600*1024;
解决方案2

由于您发现可以转储的行数有限制,因此可以使用此标志执行多个较小的转储:

--where="1 limit 100"
你不断地增加它,就像:

--where="101 limit 200"
关于


关于flag的文档

解决方案1

可能最大允许大小为55MB,请在mysql shell中尝试此命令:

show variables like 'max%' ;
它将以字节为单位显示允许的最大大小

您可以尝试使用以下命令将允许的最大数据包大小设置为600MB:

set max_allowed_packet = 600*1024;
解决方案2

由于您发现可以转储的行数有限制,因此可以使用此标志执行多个较小的转储:

--where="1 limit 100"
你不断地增加它,就像:

--where="101 limit 200"
关于


关于flag的文档

尝试从安装HeidiSQL


然后,您可以使用“导出”选项卡直接在数据库之间传输或传输到本地计算机,有关详细信息,请参阅。

尝试从安装HeidiSQL



然后,您可以使用“导出”选项卡直接在数据库之间传输,或传输到本地计算机,有关详细信息,请参阅。

检查该.sql文件的结尾。如果它不干净地结束(例如,在查询行的中间停止),那么转储正遭受相同的超时/中止条件,你的1解决方案是,并且你将不得不与GoDead寻求帮助。它不包含任何错误。文件的最后一行
——转储于2016-07-14 11:38:17完成
,那么该转储应该正常。你怎么知道500毫克的尺寸?行数不一定要与数据库中的行数匹配,尤其是启用扩展插入语法时。然后您只会得到一个包含多个值字段的insert,而不是500
insert。。。值..
,您将获得
isnert。。值(set1),(set2),(set3)等。
在一行上。我知道表中的行数。整个数据库是500mb。我转储的这个表只有60Mb,其中有101998行。在我们继续之前,我在phpMyAdmin中检查了这个-您是否尝试过使用godaddy manager备份它?然后,您可以将文件FTP到您希望的任何位置?也许有趣?检查该.sql文件的结尾。如果它不干净地结束(例如,在查询行的中间停止),那么转储正遭受相同的超时/中止条件,你的1解决方案是,并且你将不得不与GoDead寻求帮助。它不包含任何错误。文件的最后一行
——转储于2016-07-14 11:38:17完成
,那么该转储应该正常。你怎么知道500毫克的尺寸?行数不一定要与数据库中的行数匹配,尤其是启用扩展插入语法时。然后您只会得到一个包含多个值字段的insert,而不是500
insert。。。值..
,您将获得
isnert。。值(set1),(set2),(set3)等。
在一行上。我知道表中的行数。整个数据库是500mb。我转储的这个表只有60Mb,其中有101998行。在我们继续之前,我在phpMyAdmin中检查了这个-您是否尝试过使用godaddy manager备份它?然后,您可以将文件FTP到您希望的任何位置?也许有趣?那没关系<代码>>输出到文件并覆盖任何现有文件<代码>>>只需创建/追加。它不会改变数据。我首先尝试使用一个>而不是两个。。对于single>Operator,reults是相同的。如何找到表中最后导出的行。我需要手动检查吗。我不知道它可能进行了哪些排序。请找出.sql文件中最后一条记录的id。它应该遵循基于记录创建时间的排序顺序。尝试不同的表,在本例中,文件中只有85行。这无关紧要<代码>>输出到文件并覆盖任何现有文件<代码>>>只需创建/追加。它不会改变数据。我首先尝试使用一个>而不是两个。。鲁尔特一家也一样