访问mysql出现“Access denied for user root@localhost”(using password:NO)解决方案

时间:2021-05-16 16:59:08

首先声明,出现这个提示的原因有很多,以下只针对我遇到的一种情况

使用解压缩版安装mysql的时候,data文件夹是自己新建的,my-default.ini也是自己配置的,这时直接启动mysql服务的时候,会出现提示

“MySQL正在启动”“MySQL无法启动”的情况,原因是data文件夹是空的,需要初始化一些东西进去

于是使用了mysqld --initialize命令

蛋疼的是,这个命令会默认给root用户设置一个随机密码,导致使用mysql -uroot指令无法进入(如果不想出现这个随机密码,需要使用mysqld --initialize -inscure)

想要知道这个密码,需要查找mysql目录下的data文件夹下的有“.err”后缀的文件,用记事本打开

访问mysql出现“Access denied for user root@localhost”(using password:NO)解决方案

找到“[Note] A temporary password is generated for root@localhost:”XXXXXX这一行,冒号后面即为生成的随机密码

访问mysql出现“Access denied for user root@localhost”(using password:NO)解决方案

通过这个密码即可进入mysql进行数据库操作

需要注意的是,该密码只能使用一次,需要想办法自己更改密码