关于MYSQL ERROR1045 报错的解决办法

Posted 水狼一族

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于MYSQL ERROR1045 报错的解决办法相关的知识,希望对你有一定的参考价值。

**
问题描述

**
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然后改掉格式名)

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

以上是关于关于MYSQL ERROR1045 报错的解决办法的主要内容,如果未能解决你的问题,请参考以下文章

Mariadb初始登陆报错 ERROR 1045 (28000) 的解决办法

MySQL连接不上

mysql ERROR 1045 和2058时(28000): 错误解决办法

Mysql ERROR 1045 怎么解决

mysql ERROR 1045 (28000): 错误解决办法

mysql ERROR 1045 (28000): 错误解决办法