把mysql8.0改成5.7解决ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: YES)

首先停止服务:

以管理员方式打开cmd:

输入命令:sc delete MySQL

删除mysql8.0版本的服务

打开mysql5.7的文件夹并创建一个my.ini文件

内容如下:

[mysqld]
#设置3306端口
port=3306
#设置mysql的安装目录
basedir=D:\Enviroment\mysql\mysql-5.7.41-winx64
#设置mysql数据库的数据的存放目录
datadir=D:\Enviroment\mysql\mysql-5.7.41-winx64\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

把环境变量中的MYSQL_HOME改成mysql5.7的文件目录

再cmd进入到mysql5.7的bin目录下:

输入命令:

mysqld --initialize-insecure mysqld -install

我这里没有删除mysql8.0的服务,删除后就成功安装了。

如出现Install of the Service Denied,则说明没有以管理员权限来运行cmd。

修改成功,打开mysql服务

mysql -uroot -p

还会要你输入密码

我输入以前的密码会报错

ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: YES) 所以得在my.ini文件中任意一行加一句:

skip-grant-tables

保存然后停止服务,重新开启服务

打开mysql后输入原先的密码就可以进入。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值