**

问题描述


**

ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: YES)

或者

ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: NO)


这其实是密码错误导致的

但是我输入的密码是安装MYSQL的时候设定的密码,应该是正确的 。

其实并不是,因为mysql会随机生成一个乱码作为你的密码。

你需要改掉(或者记下)这个密码。


我用的是免安装MYSQL安装方式。

如果你从MYSQL官网下载来的 是zip那就是免安装,如果是msi 就是安装


**

问题解决


**

1.在mysql安装目录中新建一个my.ini的文件

(先建立my.txt然后改掉格式名)

关于MYSQL ERROR1045 报错的解决办法_mysql安装

2.在my.ini中输入以下内容

记得根据自己的配置更改,比如安装目录和存放目录,还有端口

存放目录就是安装目录加 /data

skip-grant-tables 的作用是免密码登陆

[mysqld] 
skip-grant-tables
character-set-server=utf8
#绑定IPv4和3306端口
port = 3306
# 设置mysql的安装目录
basedir=D:/mysql-5.7.21-winx64
# 设置mysql数据库的数据的存放目录
datadir=D:/mysql-5.7.21-winx64/data
# 允许最大连接数
max_connections=200
# skip_grant_tables
[mysql]
default-character-set=utf8
[mysql.server]
default-character-set=utf8
[mysql_safe]
default-character-set=utf8
[client]
default-character-set=utf8


3.

保存之后

在命令行输入

net start mysql

启动服务

4.

免密码登陆mysql

mysql -u root -p

直接回车进去

现在就要更改密码了

mysql> use mysql;
update mysql.user set authentication_string=password('这里是你的新密码') where user='root' ;


注意引号有没有出错

然后退出

​mysql> quit​

5.

把my.ini文件里的skip-grant-tables注释掉

再重启mysql

net stop mysql
net start mysql