【问题标题】:Automated download of whole mysql database without mysqldump无需 mysqldump 即可自动下载整个 mysql 数据库
【发布时间】:2019-02-18 04:59:05
【问题描述】:

在我的共享虚拟主机上,我的 ssh 访问权限非常有限(仅通过 imscp InstantSSH 插件)。我想设置一个脚本来将我的整个 mysql 数据库下载为一个 sql 文件,但我想不通。

我无法使用 mysqldump,所以我尝试了 mysql 命令,该命令可用,但它正在工作。

我必须指定用户名、密码、主机和数据库,而且我的密码包含特殊字符。

谁能帮帮我?

【问题讨论】:

  • 您可以尝试在服务器上推送Adminer.php (adminer.org) 文件,然后使用Adminer 导出数据库,Adminer 是Mysql GUI 的单个PHP 文件
  • 您需要不同的托管平台。这听起来很荒谬。

标签: mysql ssh


【解决方案1】:

如果您的共享主机允许 mysql 远程连接,那么您可以使用任何 MySQL 软件连接到数据库,然后提取您需要的任何信息。类似的工具有:HeidiSQL、NavicatGui 等。

另一种方法是 Akshay Khale 建议的方法。

第三种方法是使用 phpMyAdmin(大多数共享虚拟主机默认安装了它)。

第四个方法是创建一个简单的 php 脚本,在本地运行 mysqldump,将 .sql 转储文件保存在本地共享主机上或通过 FTP/SFTP 或任何其他协议远程保存。同样的脚本也可以通过电子邮件向您发送该文件(内联或作为电子邮件的附件)。可以使用 cron 作业来配置这种自动化。

有多种方法可以实现这一目标。这完全取决于哪一个最适合您。

【讨论】:

  • 我不推荐 PHPMyAdmin 但HeidiSQL 是一个很好的选择,你也可以试试PopSQL
  • 感谢您的建议!不允许远程连接,那太容易了……我看看管理员,这听起来很有趣!安装了 phpmyadmin,但我正在寻找一种自动化方式,可以在部署脚本或其他操作期间从本地计算机的命令行触发!可能我真的只需要编写一个小 php 并通过 curl 触发它......
  • 你可以用 php 或 bash 或任何对你来说更容易的东西来制作它。 Python 也可以。
【解决方案2】:

作为 i-MSCP 的 InstantSSH 插件的作者,我可以说您应该要求您的 HP 使 mysqldump 命令可从您的 chrooted shell 中使用。主机管理员可以通过编辑 InstantSSH 插件配置文件将任何命令添加到 chroot。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-21
    • 2011-07-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-14
    • 1970-01-01
    相关资源
    最近更新 更多