忘记了MySQL的root密码该怎么办?

2024-01-02 16:11:48 浏览数 (1)

忘记了MySQL的root密码怎么办?这不是玩笑,已经有多个人问过我这个问题了。答案请往下看。

通用方法(安全性略低),适用于任何平台。

停止MySQL服务器。

重启MySQL服务器使用“ --skip-grant-tables ”选项,使用该选项启动MySQL服务器将允许任何用户不使用密码和所有权限进行连接,并禁用诸如“ALTER USER”和“SET password”之类的帐户管理语句(存在安全风险)。

启动“mysql”客户端(无需密码)

使用“FLUSH PRIVILEGES;”重新加载授权表,加载后可以执行账户管理语句

执行“ALTER USER”语句更改root用户的密码

代码语言:javascript复制
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';

重新启动MySQL服务器(取消--skip-grant-tables选项)

Windows上的操作方法

使用Windows的管理员登陆

停止MySQL服务器,如果MySQL以window服务启动,可以在开始-》控制面板-》管理工具-》服务里面找到MySQL的服务,并将其停止。

创建一个文本文件,里面记录下面的内容

代码语言:javascript复制
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';

保存该文本文件,例如,“C:mysql-init.txt”

开启window的命令行,开始-》运行-》cmd

使用系统变量“init_file ”启动MySQL服务器

代码语言:javascript复制
C:> cd "C:Program FilesMySQLMySQL Server 8.0bin"
C:> mysqld --init-file=C:\mysql-init.txt

服务器将启动,并将root用户的密码设置为文本文件中的新密码

成功启动后,删除“C:mysql-init.txt”文件

类Unix系统的操作方法

使用运行MySQL服务器的用户登录操作系统,例如,mysql或者root

停止MySQL服务器,可以通过使用kill命令(不是kill -9)正常停止mysqld进程。“.pid ”文件包含mysqld的进程信息,通常可以在“/var/lib/mysql/”、 “/var/run/mysqld/”,和 “/usr/local/mysql/data/”中找到,例如,

代码语言:javascript复制
$> kill `cat /mysql-data-directory/host_name.pid`

创建一个包含以下内容的文本文件,

代码语言:javascript复制
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';

文件保存为“/home/me/mysql-init”

使用系统变量“--init-file”并将变量值指定为保存的文本文件,启动MySQL服务器

代码语言:javascript复制
$> mysqld --init-file=/home/me/mysql-init &

成功启动MySQL服务器后,删除文本文件“/home/me/mysql-init”。

以上内容就是关于如何重置MySQL root用户密码的介绍,希望能帮助到您。

0 人点赞