由于在网上一直没找到能解决我的问题的,这次解决了,怕以后遇到相同的问题忘了,好记性不如写博客。
由于不知道MySQL和MySQLa的区别,以为两个都是MySQL的,当时候是以为自己以前那个数据库服务都卸干净了的,正式因为如此才导致了这次的问题。
-
端口问题。判断是否有两个数据库服务运行了(两个数据库都运行的话,不管密码是否正确都会出现这个弹出1045)
-
用户名或者密码错误
而我就是端口出问题(因为以前装过其他的)和密码一起出问题了
1.如果出现这个错误最先应该检查端口,因为端口出问题了,重置密码都没有办法重置,还是一样会是这个错误ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO),没有办法重置,这时候就要在服务里面查看端口有没有被两个同时占用。
2.关了那个MySQLa之后,端口没问题了,就是重置密码了,这个网上一大堆,
1.先关闭服务
2.再到MySQL的文件夹下面找到后缀名为.ini的文件,在[mysqlld]的下面添加skip-grant-tables
3.然后打开数据库,然后到bin目录下输入mysql -u root -p,回车就可以了
4.再输入set password=password("你的新密码") where user="root";
5.再删除skip-grant-tables就OK了
3.我当时候用网上的这种方法还是不可以,然后看到一篇博客
https://www.jb51.net/article/83888.htm
可以在日志(在MySQL文件夹中的data文件夹中的.err文件)里面查找到安装时的临时随机密码
当时我是把所有密码自己设置过的密码都试了一遍然后就出现了这句话,发现了不一样的东西,
Your password has expired. To log in you must change it using a client that supports expired passwords.
立马就去百度了一下,发现是密码过期了,让我修改密码,那就好办了,然后就在bin目录下输入mysqladmin -u root -p password就OK了。(enter password处输入那个随机临时密码)
总结
感觉数据库目前端口最容易出问题,上次的也是端口出了问题,在每次出问题前都要提前检查一下端口,是不是端口的原因。