我使用c++
使用'user1'和密码在数据库中搜索信息。
我没有手动输入密码。我是从Docker机密收到的。
但是有时候我会出错:
拒绝用户'user1'@'localhost'的访问(使用密码:是)
在这种情况下,我只需做drop user user1
并创建一个新的
CREATE USER IF NOT EXISTS 'user1'@'%' IDENTIFIED BY 'password';
GRANT some PRIVILEGES ON some_db TO 'user'@'%';
为什么有时我的MYSQL密码有问题?
答案 0 :(得分:0)
MYSQL丢失用户密码
考虑到您的描述,我怀疑问题出在MySQL之外-一种专门为许多人设计和信任的用于保留数据的工具-还是对MySQL身份验证工作方式的误解。
'user1'@'%'
与'user1'@'localhost'
完全不同;在POSIX系统上的mysql.user the wildcard does not match localhost中。
鉴于您提供的有关该问题的唯一信息似乎不正确,因此很难提出解决方法。
如果您确实要连接到本地主机,则使用peercred(在MySQL和MariaDB的最新实现中默认启用)会更简单,更安全。