我用 c++
要在数据库中搜索信息,请使用“user1”和密码。我不手动输入密码。我从docker secrets收到的。但有时我会犯一个错误:
拒绝访问用户“user1”@“localhost”(使用密码:yes)
在这种情况下,我只是做 drop user user1
创建一个新的:
CREATE USER IF NOT EXISTS 'user1'@'%' IDENTIFIED BY 'password';
GRANT some PRIVILEGES ON some_db TO 'user'@'%';
为什么mysql中的密码有时会有问题?
1条答案
按热度按时间tcomlyy61#
mysql丢失用户密码
根据您的描述,我怀疑这个问题是在mysql之外产生的,mysql是一个专门为很多人设计并信任的用来保留数据的工具,或者是对mysql身份验证工作原理的误解。
'user1'@'%'
这和'user1'@'localhost'
; 在mysql.user中,通配符与posix系统上的localhost不匹配。鉴于你提供的关于这个问题的唯一信息似乎是不正确的,因此很难建议如何解决这个问题。
如果您真的要连接到localhost,那么使用peercred(在mysql和mariadb的最新实现中默认启用)会更简单、更安全。