如何解决Mysql无法从用户帐户登录
从 root
用户,我可以毫无问题地执行此命令:
[root@freebsd ~/var/html/www]$ bin/console d:run-sql 'SELECT * from user';
来自 www
用户,我无法执行此命令:
[www@freebsd ~/var/html/www]$ bin/console d:run-sql 'SELECT * from user';
因为我收到以下错误:
An exception occurred in driver: SQLSTATE[HY000] [2002] Permission denied
两个用户都在使用相同的配置文件:
parameters:
database_driver: "pdo_mysql"
database_url: "mysql://dbuser:dbuserpass@127.0.0.1:3306/dbname"
我使用的是在 Freebsd 上运行的 MariaDB 10.4 和 PHP(Symfony 项目)
解决方法
身份验证问题伴随着访问被拒绝消息。
权限被拒绝错误意味着您进行了身份验证,但您尝试访问的资源被拒绝。可能是 dbname
数据库。
您需要至少授予此具有 root 用户或其他管理员用户的“选择”权限:
GRANT SELECT ON dbname.* TO dbuser@127.0.0.1;
请注意,因为对于 mysql 客户端,如果我们不指定主机或将其指定为 localhost
而不是 127.0.0.1
,客户端会尝试通过 进行连接unix 套接字。
您可以使用 --protocol tcp
或使用 IP 地址来解决这个问题。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。