如何修复MySQL中与密码有关的问题

时间:2019-05-03 09:47:07

标签: mysql

为mysql设置密码时,我使用了错误的代码

2^21-1

此处PASSWORD设置为我无法识别的值。我也尝试过安全模式恢复,但问题尚未解决。如何解决此问题?

我尝试了安全模式恢复,但是还需要使用旧密码。

1 个答案:

答案 0 :(得分:0)

我们可以通过在玩具示例中重现问题来解决此问题:

CREATE TABLE Foo (Bar TEXT);
INSERT INTO Foo VALUES("Hello world");
SELECT * FROM Foo;
UPDATE Foo SET Bar=BAR=('password');
SELECT * FROM Foo;

live demo

第一个SELECT向我们显示Hello world;第二个向我们显示0。因此,无论出于何种原因,错误的表达式BAR=('password')都会导致0。因此,我相信您密码的哈希0

麻烦的是,这并没有真正帮助您,因为您需要知道映射到所述哈希的密码-而且很可能没有一个

您应该重置根密码,方法是使用--skip-grant-tables开关旋转服务器(禁用身份验证),然后登录并正确设置密码(ref)。之后一定要以“正常”模式重新启动它,因为该开关很危险!实际上,我建议在任务执行期间关闭与传入MySQL连接的防火墙。