mysqldump over SSH



我需要直接在带有SSH的远程服务器上执行mysqldump。 主要原因是我在服务器上没有足够的空间来正常执行此操作,然后使用 SSH 将其复制过来。

不知何故,我需要将 mysqldump 命令的输出通过管道传输到 SSH。

理想情况下,这将是一个单行命令。

谢谢

你可以试试:

ssh -t user@server 
"mysqldump 
-B database 
--add-drop-table 
--ignore-table database.logs" > ~/mydatabase.sql

请注意,在此示例中,您无需登录 mysql。而且您不需要 sudo 权限。

我还添加了--add-drop-table--ignore-table选项,因为这些选项很常见。

您可以将> ~/mydatabase.sql更改为| gzip -9 > ~/mydatabase.sql.gz以压缩文件。

您希望将转储文件远程系统存储在运行 mysql 的服务器上。 如果通过 ssh 执行 MysqlDump 命令,转储文件最终将保留在连接到 ssh 的服务器上。 您可以考虑连接到 mysql 以通过 ssh 隧道执行 mysqldump 命令。

我不确定是否有任何工具支持在 linux 上进行 ssh 隧道,但 Putty 可以在 Windows 上进行 ssh 隧道。

https://www.linode.com/docs/databases/mysql/create-an-ssh-tunnel-for-mysql-remote-access/

最新更新