数据库改了密码等不上怎么办

伙计,这件事最近发生在我身上。
去年,我在一家公司负责数据库维护。
那天,同事突然说数据库密码被改了,无法登录,我赶紧跑过去一看,果然是这样。

首先,我让他检查一下新密码,看看有没有错误,比如大写或者缺少特殊字符。
结果大家都说一切都好,没有什么问题。

然后我检查了帐户状态。
由于是Oracle数据库,我认为可能是因为多次密码错误而被锁定。
果然,一查之后,果然是真的。
我很快就使用命令开设了账户,这对我来说是一个巨大的帮助。

然后我让他重新启动数据库服务。
我说很巧的是,他之前改密码的时候,没有重启服务,所以改密码没有生效。

再次检查后发现权限表没有更新。
你让他执行FLUSH权限;这件事,问题终于解决了。

接下来,我帮他看了一些Oracle数据库的情况。
比如密码过期了,或者有复杂的问题,我就帮他延长密码有效期,重置密码。

还有一个MySQL数据库。
我遇到了密码加密方法不兼容的情况。
例如,对于 MySQL 8 .0 及更旧的工具,我使用命令来帮助它更改密码的加密方式。

还有一次,一位同事忘记了密码,并且存在权限问题。
我让他停止MySQL服务,更改配置文件,重新启动服务,最后更新应用程序中的密码。

嘿,这个数据库真是烦人。
有时他必须处理一些特殊的环境问题。
比如,当PHPMyAdmin在WAMP环境下报错时,我就得帮它改配置文件。

无论如何,如果您遇到此类问题,请不要惊慌。
如果你一步步来,总能找到解决办法。

如何重置mysql密码

1 .停止MySQL服务:sudoservicemysqlstop 2 . 启动进入恢复模式: sudomysqld_safe--skip-grant-tables & 3 、无密码登录:mysql -uroot 4 .更新root密码(5 .7 以下): UPDATE mysql.user SET password=PASSWORD('new password') WHERE user='root'; 5 .更新root密码(8 .0及以上): ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码'; 6 .更新权限:FLUSH PRIVILEGES; 7 .退出MySQL:exit 8 .重启MySQL服务:sudoservicemysqlstart 9 .检查服务状态:sudoservicemysqlstatus 1 0.测试新密码:mysql -uroot -p
权限不够?检查 root 用户和恢复模式。
版本错误?使用更改用户,而不是更新。
服务失败?检查error.log查找原因。

使用复杂的密码并定期更改以避免窥探。
你自己掂量一下吧。

windows如何重启MySQL服务、修改Mysql密码

说实话,我在MySQL密码方面也遇到过错误。
您提供的命令行指令基本上是正确的,但有几点我想指出;否则新手很容易陷入困境。

例如,在该命令 mysqladmin -u root -p -plingdopasswordefg 中,它的细节很少。
我发现上次为同事更改密码时,如果没有在旧密码前面加破折号,就会出现错误。
Windows系统的命令行相当顽固。
-p 后面必须紧跟旧密码。
不能有空格或引号。
因此,重新启动命令提示符多次以修复它。

有趣的是,在 MySQL 5 .7 及更高版本中,现在建议使用 ALTER USER 命令来更改密码。
当我上次测试新系统时,这个命令比 mysqladmin 更有意义:ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password'。
仅在执行后刷新权限。
但你的方法更古老,许多旧系统仍然保留这种命令行方法。

如果你回到你的提示,Windows确实不能直接重启MySQL服务。
我在服务器上管理 Windows 环境,特别是当数据文件路径发生变化时我发现有时候启动mysql后net start mysql会出现错误。
首先最好等几十秒确认net stop mysql已经完全停止了,然后检查net start mysql。
我的一个朋友遇到了这个,被告知找不到数据目录。
结果,您将不得不等待几秒钟。

在上一个示例中,将 root 密码 acb 更改为 efg。
这个命令实际上可以缩短。
我使用 mysqladmin -u root -p -P3 3 06 password 'efg' 并将新密码直接放在引号中,这样我就不必记住那么多字符。
然而,你的方法有效;但它可以轻松地将 -p 之后的旧密码与其后面的密码连接起来,从而使命令行解释器感到困惑。

对此,我没有亲自在Win1 0下运行过最新版本的MySQL,但根据资料显示,注意2 02 0年左右官方对mysqladmin的-p参数的要求做了明确。
如果您使用的是特定的旧版本,您可能会遇到其他奇怪的事情。
建议在进入生产环境之前先在虚拟机中进行测试,以确保命令正确。