mysql - 如何使用终端从远程服务器执行 `mysqldump`并保存在本地

标签 mysql terminal

如何使用终端从服务器执行mysqldump

我做了以下事情:

首先我登录了:

ssh root@123.456.78.90  // then I enter my password

然后我这样做:

mysql->show databases;

之后:

use the_database;

然后我这样做:

mysqldump -u myusername -p the_database > db_backup.sql

之后,显然没有任何反应,我也没有收到错误。所以我的问题是,它在哪里保存备份以及如何在本地计算机上获取 mysqldump

最佳答案

备份的方式和位置有多种方法,但您很可能不希望将备份存储在运行数据库的同一服务器中。

如果您可以通过 ssh 访问服务器,则可以创建 ssh 隧道,最基本的示例可能是:

$ ssh -L 3307:localhost:3306 root@123.456.78.90

这将在本地打开端口3307(以防万一您已经在使用3306)并将其转发到localhost:3306 > 浏览123.456.78.90

然后你可以这样做:

$ mysqldump -h localhost -P 3307 -u myusername -p the_database > db_backup.sql

要了解您当前的路径,请运行 pwd ,它将打印您当前的目录以及在您未指定绝对路径的情况下将在其中创建 db_backup.sql 的位置。

如果不使用 ssh,您也可以尝试通过指定主机直接连接:

$ mysqldump -h 123.456.78.90 -u myusername -p the_database > db_backup.sql

如果端口打开,您可能只需要修改/授予用户权限即可允许您的 IP 访问:

 mysql> GRANT ALL ON the_database.* TO your_user@'123.456.78.90' IDENTIFIED BY 'secret';

关于mysql - 如何使用终端从远程服务器执行 `mysqldump`并保存在本地,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55352580/

相关文章:

linux - expo-cli 下载但无法使用

python - 我如何告诉 python 启动用户默认终端?

swift - 使用 Swift 运行多个终端命令

python - MySQLdb UPDATE 挂起

mysql - 使用 Coldfusion 和 MySQL 解析和比较数据

PHP:逗号分隔的字符串到while循环中的html元素?

php - 用户交互式刷新动态菜单

mysql - mysql中两列之间的时间差高于xx天

c++ - 在 Linux 上使用 C++ 将终端附加到创建的线程

batch-file - Windows : script/program for USB key that opens a console, 并设置路径和工作目录