如何在 Windows 上重置 MariaDB 密码?

use*_*244 3 mariadb

如何在 MariaDB 中重置密码?我使用 Windows 而不是 Linux。谁知道如何重置我的 MySQL MariaDB 密码?我尝试在谷歌上搜索但没有帮助。

Ben*_*Ben 7

我遇到了同样的问题。我丢失了 Windows 开发计算机上测试服务器的 root 密码。按照 Linux 步骤:

net stop mysql 
Run Code Online (Sandbox Code Playgroud)

尝试调用 mysqld

mysqld --skip-grant-tables
Run Code Online (Sandbox Code Playgroud)

mysqld 只会退出并显示一条短消息

[Note] mysqld.exe <...5.5.48.MariaDB> starting as process <pid> ...
Run Code Online (Sandbox Code Playgroud)

然后它就退出了。但是我尝试直接启动mysqld,没有mysqld.exe进程。服务启动命令可能具有一些使 mysqld 能够运行的参数组合。尝试通过配置文件传递设置并且它有效。

skip-grant-tables=TRUE
Run Code Online (Sandbox Code Playgroud)

进入 MariaDB 5.5\data\my.ini 重新启动 mysqld,通过

净停止 mysql && 净启动 mysql

然后就可以以 root 身份登录了。

不要忘记删除插入的行并再次重新启动 mysqld。


小智 7

由于这是 Google 的最佳结果,因此有一种更改密码的快速方法:

  1. 停止数据库服务器

  2. 创建一个包含新密码的文本文件:

    ALTER USER 'root'@'localhost' IDENTIFIED BY 'DontForgetMeAgain';
    
    Run Code Online (Sandbox Code Playgroud)
  3. 运行此命令(不要忘记替换文件路径):

    mysqld --init-file=C:\\path\\to\\file.txt
    
    Run Code Online (Sandbox Code Playgroud)

我们就完成了


dav*_*-ao 5

使用skip-grant-tables导致Maria Db在更改密码时抱怨,即使以root身份登录也是如此。我必须对文件内容中汤姆的答案进行一些修改才能使其对我有用:

停止 DBServer 后,我创建了一个包含以下内容的文件:

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('mynewpassword');
FLUSH PRIVILEGES;
Run Code Online (Sandbox Code Playgroud)

然后我跑:

C:\Program Files\MariaDB 10.1\bin>mysqld --init-file=C:\\path\\to\\file.txt
Run Code Online (Sandbox Code Playgroud)

然后我成功登录了