mysql8.0修改用户密码-ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: YES),连接mysql时出现此错误时意为‘服务器拒绝访问,密码已输入’

其出现的原因可能如下:

1. mysql安装路径下的配置文件出错,my.ini文件,排查文件是否有无效内容,如果没有my.ini文件,直接在mysql根目录创建一个,并参照修改或写入以下内容:

就是这个文件

[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=D:\Program_files\MySqlserver\mysql-8.0.16-winx64
# 设置mysql数据库的数据的存放目录
datadir=D:\Program_files\MySqlserver\MySql\Data
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8

2、如果确认是密码错误或者忘记密码,清按照以下步骤来修改密码

  • 进入windows命令提示符页面
    • 桌面左下角搜索“命令提示符”,选择“以管理员身份运行”

    • 进入命令提示符页面后,键入net stop mysql,回车。(不以管理员身份打开可能会提示“系统错误”)

    • 提示mysql已停止运行,(提示没有这个命令的小伙伴可以进入mysql安装路径bin文件夹下键入以上命令)
      停止成功

    • 停止mysql服务后键入mysqld --console --skip-grant-tables --shared-memory,点击回车,这个进程保留在命令提示符页面(页面一)。

    • 此时需要再打开一个新的命令提示符页面(页面二),不要关闭页面一。直接在页面二输入mysql -uroot,可以发现不使用密码就可以进入mysql。
      绕过密码进入mysql命令行

    • 成功绕过密码进入mysql命令行,依次输入下列语句

    • flush privileges; #刷新权限
      刷新权限成功

    • ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '密码';#在密码位置输入新密码,‘root’是你要修改密码的用户,‘localhost’是你要修改的数据库服务地址。
      密码修改成功

    • 修改完成后输入exit语句并回车退出mysql进程,关闭页面一,在页面二重启mysql服务:

net stop mysql 
net start mysql
  • 大功告成!再次输入命令mysql -uroot -p进入时需要使用新密码进入mysql数据库。
    成功

最新的mysql版本的密码修改

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值