【发布时间】:2020-07-14 14:31:53
【问题描述】:
我正在尝试在 Linux 服务器上备份 MySQL 数据库,然后再对正在使用该数据库的软件 (Omeka) 进行一些升级。
Omeka 文档为此提供的命令如下:
mysqldump -h localhost -u 用户名 -p omeka_db_name > omeka_db_backup.sql
但是,当我运行此程序时,我收到了“权限被拒绝”这样非常有用的模糊消息。如果我以 sudo 身份运行命令,它会执行此操作。无论我尝试将备份文件保存到哪个目录,它都会执行此操作。当我运行 mysql dump 时它不会提示我输入 MySQL 密码,但是当我运行“mysql”命令并且它接受我输入的密码时它会提示我,所以我知道问题不在于我使用了错误的凭据.
我无法直接在 shell 中导航到 MySQL 文件夹,当我使用 WinSCP 访问服务器时,MySQL 文件夹被列为“MySQL”而不是“root”所有。所以我假设我没有权限从这个文件夹中复制任何东西,这是我的问题。我不想随意将 MySQL 文件夹的所有权分配给 root,因为我担心这可能会破坏 MySQL 从该文件夹读取和写入的能力。
我要做的就是将数据库文件复制到某处作为备份。哎呀,如果我必须这样做,我会将整个 MySQL 文件夹复制到某个地方。如何在不破坏 MySQL 的情况下做到这一点?
【问题讨论】:
-
可能被拒绝的权限来自 shell,因为它试图将 stdout 重定向到当前工作目录中的
omeka_db_backup.sql。 -
您能改为通过
phpMyAdmin运行导出吗?