27

我在远程服务器上有一个 MySQL 数据库。我只有连接权限。我没有对服务器的 FTP 访问权限,我需要对数据库进行完整转储。我已经尝试过mysqldump,但问题是它正在服务器上创建输出,并且由于我没有 FTP,我无法从服务器获取输出。

如何进行干净的备份并在我的本地机器中获取转储(当然,备份应该在我的本地机器中恢复)?

4

6 回答 6

33

您可以将服务器名称指定为以下选项mysqldump

mysqldump --host servername dbname > dbname.sql
于 2013-10-23T21:09:17.300 回答
27
mysqldump --host hostaddress -P portnumber -u username -ppassword dbname > dbname.sql

通常 MySQL 的远程端口是 3306。下面是一个例子:

mysqldump --host 192.168.1.15 -P 3306 -u dev -pmjQ9Y mydb > mydb.sql
于 2014-10-16T03:07:12.007 回答
2

您可以使用 MySQL 工作台http://www.mysql.com/products/workbench/,可以通过友好的用户界面直接备份到本地文件夹

于 2013-10-23T21:12:13.993 回答
1

mysqldump.exe默认情况下锁定表,因此在转储期间无法执行其他 SQL 操作。在不锁定任何表的情况下,使用以下语法备份完整的远程数据库并将所有内容转储到本地计算机上:

mysqldump -u username -p --single-transaction --quick --lock-tables=false -h ipaddress myDB > backup.sql

更改username为您自己的用户名,更改ipaddress为远程 IP 地址,以及myDB您要备份的实际数据库。这将提示您输入密码。一旦提供,转储就会开始。

于 2017-11-21T12:35:47.607 回答
0

我为此使用 SQLyog,我们可以连接到远程服务器并使用此工具进行备份。

于 2013-10-25T12:12:51.327 回答
0

如果服务器承认 PHP,你可以上传并尝试Adminer。我喜欢它作为 PHPMyAdmin 的替代品,你可以用它创建备份!

于 2014-02-06T23:05:00.223 回答