问题描述
mysql采用默认安装路径,忘记密码情况下重置root用户密码
环境描述
- mysql版本
> mysql --version mysql ver 9.0.1 for win64 on x86_64 (mysql community server - gpl)
- 配置文件my.ini路径
c:\programdata\mysql\mysql server 9.0\my.ini
- data目录路径
c:\programdata\mysql\mysql server 9.0\data
解决方法
- 停止mysql服务
net stop mysql90 # 该命令需“管理员”权限。也可以在“服务”中停止
- 以管理员身份运行cmd
mysqld --defaults-file="c:/programdata/mysql/mysql server 9.0/my.ini" --console --skip-grant-tables --shared-memory
p.s.
1.defaults-file参数要放在第一项
2.如果mysqld命令无法识别,可以将mysql安装路径下的bin目录加入环境变量中;或者在cmd中将路径切换到bin目录下再执行命令
进入“跳过授权表”模式。服务器将不加载权限判断,任何用户都能访问数据库,但不能输入指令了。
上一个cmd窗口先放一旁,另开个cmd窗口,输入
mysql
进入服务mysql中输入命令:
# 修改root用户"authentication_string"字段为 空 mysql> update mysql.user set authentication_string="" where user="root"; # 刷新权限 mysql> flush privileges; # 退出 mysql> \q
5.第一个cmd窗口中,使用ctrl+c中断“跳过授权表”模式,随后启动mysql
服务
ctrl + c net start mysql90
- 使用空密码进行登录,然后使用
alter语句
更新密码,刷新权限,退出
mysql -uroot -p # 修改密码,示例为:123456 mysql> alter user 'root'@'localhost' identified by '123456'; mysql> flush privileges; mysql> \q
- 使用新密码重新登陆即可
正常模式下修改密码
正常模式下使用alter语句
就可以修改用户密码
mysql> alter user '用户名'@'主机范围' identified by '新密码'; mysql> flush privileges;
报错原因
- ‘auto.cnf’ not found(permission denied)
报错原因:
第②步中未以管理员权限运行cmd就执行mysqld
命令,导致权限不足
2. unknown variable ‘defaults-file’
报错原因:
defaults-file参数要放在第一项
到此这篇关于mysql9.0默认路径安装下重置root密码的文章就介绍到这了,更多相关mysql9.0 安装重置root密码内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论