如何使用终端从服务器执行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/