问题背景:
本文章主要解决MySQL忘记root用户密码或者安装MySQL,root用户密码初始化失败端场景。
- MySQL版本:5.5.27
- 操作系统:windows10/windows7
问题描述
按照网络上方法安装MySQL,初始化root用户密码有时候会失败。这个时候需要重置MySQL的roor密码。本方法也适合忘记root密码找回密码。
解决方案:
该类问题解决方案如下:
- 修改MySQL配置文件my.ini,mysqld部分增加“skip-grant-tables”,该文件一般在MySQL安装目录中。
[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录 ----------是你的文件路径-------------
basedir=D:\MYSQL
# 设置mysql数据库的数据的存放目录 ---------是你的文件路径data文件夹自行创建
datadir=D:\MYSQL\data
# 允许最大连接数
max_connections=20
# 允许连接失败的次数。
max_connect_errors=10
# 服务端使用的字符集默认为utf8mb4
character-set-server=utf8mb4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
#跳过MySQL权限验证
skip-grant-tables
- 重新启动MySQL服务。windows操作系统相关参考命令如下(以下例子mysql服务安装的名称为mysql:
net restart mysql
- 在MySQL服务器登录。此时不需要权限检查,可以无密码登录MySQL服务器,登陆连接MySQL。相关命令如下:
mysql -uroot
4.修改MySQL密码,以下将root用户密码修改为“123456”,相关命令实例如下:
#将数据库切换至mysql库
mysql> USE mysql;
#修改密码
mysql> UPDATE user SET password=PASSWORD('123456') WHERE user='root';
#刷新MySQL权限相关的表
mysql> flush privileges;
-
还原MySQL配置文件my.ini。去掉my.ini文件的“skip-grant-tables”部分。
-
重新启动MySQL服务,即可用root用户和上面修改的密码登录了。