【问题标题】:MySQL access denied when printing query results to text file将查询结果打印到文本文件时,MySQL 访问被拒绝
【发布时间】:2012-09-07 18:20:46
【问题描述】:

我正在尝试将查询结果从 MySQL (SELECT blah INTO OUTFILE 'filename') 打印到文件,但我收到以下错误消息:

ERROR 1045 (28000): Access denied for user 'mysql_username'@'localhost' (using password: YES)

当我只选择屏幕上的信息时它工作正常;它添加了INTO OUTFILE 部分,这使它给了我错误。

起初我认为我只是没有此命令的权限(我在 mySQL 中对此特定数据库具有完全的创建/删除权限,但在服务器上没有 root 访问权限),但查看错误后我发现迹象表明当用户名和密码未正确传递给服务器时,会发生此错误。我从服务器上的 MySQL 控制台运行它,所以我认为不会是这种情况,但 MySQL 用户名与服务器登录名不同,这可能是问题吗?

这是我可以自己处理的事情,还是我需要把它交给拥有更多权限的人(在 MySQL 和/或服务器上)?

背景:我需要清除表中 1000 多个条目中的大约 1/4,以及与每个条目关联的文件。不幸的是,所有文件都在同一个文件夹中,并使用哈希作为文件名,因此虽然我可以使用范围轻松地从表中获取我想要的行,但这不适用于文件。我想在清除不需要的行之前从表中取出文件名,以便可以使用 shell 脚本删除关联的文件。

【问题讨论】:

    标签: mysql select permissions


    【解决方案1】:

    根据manual,您必须拥有FILE 权限并访问服务器主机。

    SELECTSELECT ... INTO OUTFILE 'file_name' 形式将选定的行写入文件。该文件是在服务器主机上创建的,因此您必须拥有FILE 权限才能使用此语法

    【讨论】:

      【解决方案2】:

      您的用户帐户需要FILE 权限。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-05-26
        • 1970-01-01
        • 2018-03-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多