【问题标题】:access denied in mysqlmysql拒绝访问
【发布时间】:2013-02-03 23:23:57
【问题描述】:

我是 mySql 的新手,只是将下载的 sql 文件放入数据库时​​遇到了很多麻烦。我在我的树莓派上使用最新版本的 raspbian 的命令行工作。

mysql> GRANT ALL ON bbdatabank.* TO 'pi'@'localhost' IDENTIFIED BY 'password';
Query OK, 0 rows affected (0.00 sec)

mysql> CREATE DATABASE bbdatabank;
Query OK, 1 row affected (0.00 sec)

mysql> quit

当我尝试将我的 sql 文件 (lahman2012.sql) 链接到数据库时,即使我使用上面的密码 (password),我也会收到错误

mysql -u pi -p -s bbdatabank < lahman2012.sql
Enter password: 
ERROR 1044 (42000): Access denied for user 'pi'@'localhost' to database 'bbdatabank'

【问题讨论】:

    标签: mysql raspberry-pi raspbian


    【解决方案1】:

    您还需要在 MySQL 中重新加载用户表:

    FLUSH PRIVILEGES;
    

    http://dev.mysql.com/doc/refman/5.0/en/flush.html

    【讨论】:

    • 没有必要,除非您直接修改权限表(此处不会发生)。 GRANTs 总是立即生效。
    • @duskwuff:通常是的,但是这种行为存在一些错误,例如:bugs.mysql.com/bug.php?id=62390
    • 我重新输入上述代码后试了一下,还是一样的错误。
    【解决方案2】:

    我个人的建议是尽量让sql用户使用通配符

    类似

    CREATE USER 'pi'@'%' IDENTIFIED BY 'xyz';
    

    如果有任何差异,它会忽略它

    【讨论】:

    • 我会输入上面的代码而不是我拥有的或附加的吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-11-25
    • 2017-11-01
    • 2018-07-06
    • 2015-03-11
    • 1970-01-01
    • 2018-08-31
    • 2012-11-08
    相关资源
    最近更新 更多