- 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
选项
运行完毕后删除文本文件。尝试使用新密码登录,成功后正常重启服务。