fairycat

Created:
Updated:

MySQL8 修改 root 密码

修改密码

在知道旧密码的情况下,登录后可以通过 alter 语句修改密码

ALTER USER USER() IDENTIFIED BY 'password';

重设 root 密码

Windows

新建一个文本文件,例如 C:\mysql-init.txt,内容为

ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';

打开 CMD,进入 MySQL 的 bin 目录,并通过新建的文本文件启动服务(注意 Windows 的目录路径分隔符写两次)

C:\> mysqld
         --defaults-file="C:\\ProgramData\\MySQL\\MySQL Server 8.0\\my.ini"
         --init-file=C:\\mysql-init.txt

如果需要输出显示在命令窗口,而不是日志文件,可以添加 --console 选项

成功启动后,删除文本文件。尝试使用新密码登录,可以正常登录后,正常重启 MySQL 服务。

Linux

在 Linux 中修改 MySQL 的密码,在运行 mysqld 的时候,需要注意的是当前的系统用户。例如,当前登录系统用户为 root 用户,在运行命令的时候,可能会生成目录和文件所属用户为 root 用户,会导致后续使用 mysql 过程中导致权限问题。正确的方式是运行 mysqld 的时候,添加 --user=mysql 选项。

如果 MySQL 正在运行,先停止。

新建一个文本文件,例如路径为 /home/me/mysql-init

ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';

运行 mysqld

shell> mysqld --init-file=/home/me/mysql-init &

根据服务安装的情况,可能需要在 --init-file 前加上 --defaults-file 选项

运行完毕后删除文本文件。尝试使用新密码登录,成功后正常重启服务。

评论

Name

Email

Website

Subject