MySQL:为什么数据库表上的基本 MySQLdump 失败并显示 "Permission denied"

标签 mysql

这应该是快速和简单的,但在谷歌上进行了大量研究后,我仍然感到困惑。我主要是新手:服务器管理员、CLI、MySQL。

我正在本地开发我的 PHP 站点,现在需要将一些新的 MySQL 表从我的本地开发设置移动到远程测试站点。对我来说,第一步就是转储表,一次一个。

我像这样成功登录到我的本地 MySQL:

Govind% /usr/local/mysql/bin/mysql -uroot

但是在这个目录中(并且没有登录到 MySQL):

/usr/local/mysql/bin

...当我尝试这个时

mysqldump -uroot -p myDBname myTableName > myTestDumpedTable.sql

..然后我不断得到这个:

"myTestDumpedTable.sql: Permission denied."

如果我对其进行任何更改(尝试转储整个数据库、删除“-p”等),结果相同。

我很尴尬,因为我确信这将非常简单,或者只是揭示了我知识中的一个巨大(基本)漏洞。 .. 但请帮忙 ;-)

最佳答案

答案来自 MySQL 列表中一位乐于助人的人:
正如你们(Anson 和 krazybean)所想的那样 - 我没有写入 /usr/local/mysql/bin/ 目录的权限。但是从任何其他目录开始,对 mysqldump 的调用都失败了,因为我的 shell PATH var(如果我说得对的话)尚未设置为处理来自另一个目录的 mysqldump。另外,出于某种我还不太明白的原因,我还需要在 输出 上使用完整路径,即使我正在有效地调用 mysqldump,即使我有权写入输出dir(例如 ~/myTestDumpedTable.sql。所以这是我的票,现在(快速回答):

Govind% /usr/local/mysql/bin/mysqldump -uroot -p myDBname myTableName > /Users/Govind/myTestDumpedTable.sql

您可以写入任何您的 shell 用户有权这样做的地方。我刚刚选择了用户的主目录。

希望有一天这对某人有所帮助。
干杯。

关于MySQL:为什么数据库表上的基本 MySQLdump 失败并显示 "Permission denied",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8663454/

相关文章:

mysql - 将 MySQL SET 数据类型转换为 Postgres

php - JSONObject 无法转换为 JSONArray - 我看不到 ListView

php - 无法建立连接,因为目标机器主动拒绝

Php/mySQL 连接到远程服务器, fatal error ,连接超时

php - 使用 Zend Framework 从 Mysql BLOB 中输入/输出数据

java - 类似的问题

mysql - 如何将数据从模型发送到 Controller Node js

javascript - 带有 HTML 的登录表单 Mysqli php

php - MySQL 更新字段采用 JSON 格式

mysql - 用于提取最新部分以及比该日期早 30 天的任何内容的 SQL 查询。