【问题标题】:MYSQL - LOAD DATA INFILE gives ERROR 1045 (28000): Access denied for user '<user>'@'<host>' (using password: YES)MYSQL - LOAD DATA INFILE 给出 ERROR 1045 (28000): Access denied for user '<user>'@'<host>' (使用密码: YES)
【发布时间】:2021-06-21 10:53:19
【问题描述】:

我正在尝试转储 tsv 文件中的表,但它显示错误

错误 1045 (28000):用户 'user'@'host' 的访问被拒绝(使用密码:YES)

我的命令:

mysql -u$DBUser -p$DBPass -D $DBName -e "LOAD DATA INFILE 'file.tsv' INTO TABLE <table>"

我的特权:

Privleges

【问题讨论】:

    标签: mysql sql bash mariadb


    【解决方案1】:

    当您连接时,验证从服务器看到的“主机”(在您的错误消息中只是“主机”)对于 GRANT 是相同的。在这里,它必须是“localhost”。如果不是,那么您必须为 user@whateverappearsintheerrormessage 添加一个 GRANT。

    (授予权限后,必须发出FLUSH PRIVILEGES 命令)。

    但是,您的用户可能没有 FILE 全局权限,否则LOAD DATA INFILE 命令将无法工作。例如,请参阅this answer

    【讨论】:

      【解决方案2】:

      而不是:LOAD DATA INFILE

      使用:LOAD DATA LOCAL INFILE

      【讨论】:

      • 如何解决无法登录的问题?错误消息明确指出,由于提供了错误的凭据,您无法连接到 MariaDB 服务器。
      • 是的。奇怪,但凭据是正确的。我不知道怎么解决的,我认为 MySQL 应该返回更有意义的错误信息
      猜你喜欢
      • 2021-12-27
      相关资源
      最近更新 更多