MySQL登录时出现Access denied for user 'root'@'localhost' (using password: YES)

mysql安装目录下的需要有my.ini 若没有,可以新建 ,内容为

[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8 
[mysqld]
#设置3306端口
port = 3306 
# 设置mysql的安装目录
basedir=C:\Program Files\MySQL\MySQL Server 5.7
# 设置mysql数据库的数据的存放目录
datadir=C:\Program Files\MySQL\MySQL Server 5.7
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB

 

注意:目录为Mysql的安装地址 。

打开cmd,进入自己的安装目录

cd C:\Program Files\MySQL\MySQL Server 5.7

 

安装MySQL服务

mysqld --install 

 

mysqld --initialize --console

 

MySQL登录时出现Access denied for user 'root'@'localhost' (using password: YES)_第1张图片

注意记住临时密码

 

打开my.ini文件,在mysqld下面增加一行 skip-grant-tables(不需要输入密码即可直接登录)

[mysql]
skip-grant-tables
# 设置mysql客户端默认字符集
default-character-set=utf8 
[mysqld]
#设置3306端口
port = 3306 
# 设置mysql的安装目录
basedir=C:\\Program Files\\MySQL\\MySQL Server 5.7
# 设置mysql数据库的数据的存放目录
datadir=C:\\Program Files\\MySQL\\MySQL Server 5.7\\data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB

启动Mysqld服务并登录服务器

MySQL登录时出现Access denied for user 'root'@'localhost' (using password: YES)_第2张图片

不需要输入密码,直接Enter进入

MySQL登录时出现Access denied for user 'root'@'localhost' (using password: YES)_第3张图片

这时如果直接修改密码会提示错误

需要把my.ini的 (不需要输入密码验证)那一行删掉

另外打开一个cmd

进入Mysql安装目录

关闭mysql服务  net stop mysql

启动mysql服务 net start mysql

进入服务器(用之前记录下来的临时密码

MySQL登录时出现Access denied for user 'root'@'localhost' (using password: YES)_第4张图片

修改密码

密码永不过期的

ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码' PASSWORD EXPIRE NEVER;
密码有限期的

ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码' PASSWORD EXPIRE;

用新密码即可登录上mysql

折腾好久 终于解决 记录一下!

 

你可能感兴趣的:(MySQL登录时出现Access denied for user 'root'@'localhost' (using password: YES))