php - 如何使用 php 从远程机器转储和下载 mysql?

标签 php mysql linux database ssh

登录vps机器时dump mysql数据库很简单。
1.使用

从我的本地机器登录 vps 机器
ssh   root@vps_ip

2.将名为wpdatabase的mysql数据库dump到远程机器的/home/test.sql中。

mysqldump  -u root -p   wpdatabase > /home/test.sql

现在,我可以用 php 从远程机器转储和下载 mysql,用 php 编写登录语句,用 php 下载转储的 mysql 数据库,所有过程都用 php 完成吗?

想想 Adrian Cid Almaguer,我想运行 exec("ssh root@vps_ip");但是如何在exec命令中写密码呢?

man ssh  

   ssh [-1246AaCfgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec] [-D [bind_address:]port] [-e escape_char] [-F configfile]
         [-I pkcs11] [-i identity_file] [-L [bind_address:]port:host:hostport] [-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option]
         [-p port] [-R [bind_address:]port:host:hostport] [-S ctl_path] [-W host:port] [-w local_tun[:remote_tun]] [user@]hostname
         [command]

不能在ssh中写密码吗?

最佳答案

使用 ssh 连接:

首先从您的控制台安装 sshpass

$ sudo apt-get install sshpass

然后就可以使用这个命令了

$ sshpass -p your_password ssh user@hostname

用php是

<?php

 exec("sshpass -p your_password ssh user@hostname");

?>

你可以转储你的数据库:

<?php

 exec("mysqldump -uroot -padmin wpdatabase > /home/test.sql");

?>

Note: root is he user and admin is the password.

引用:

https://serverfault.com/q/241588/283624

关于php - 如何使用 php 从远程机器转储和下载 mysql?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29836935/

相关文章:

php - 配方数据库 - 添加具有现有或额外成分的配方

php - 属性值的空白值

mysql - SQL替换其他列

linux - Raspbian 上的 Mono 和 MongoDB

xml - 使用 xmlstarlet -f 时正确格式化为 .csv

c++ - 从 sockaddr * 转换为 sockaddr_in * 增加了所需的对齐方式

php - 通过浏览器拒绝 CURL 权限,适用于 ssh

php - wamp中如何一次导入所有数据库

php - 从 MySQL 检索选定的数据

php - Zend 框架 : Looking For a Basic "stub" for a project