今天闲着没事装了一下mysql5.7数据库,然后想鼓捣点东西,结果数据库连不上去,总是报一些莫名错误,查日志也得不到解决,最后上网各种找资料,现做一个总结:
因为现在mysql版本已经到8,按道理来说5.7版本的是很老的一个数据库版本,但是好多企业还是一直在用5.7,故有今天的意外来临
报错信息:
- ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
因为我们知道mysql5.7有能免密登录一说,只要能进去数据库,然后再改密码,这样你想改啥就能改啥
/etc/my.cnf 是数据库的配置文件,在配置文件添加 skip-grant-tables
如上图所示,然后直接就可以免密登录啦
但是要注意进去之后不能直接改密码,必须先进行一下
flush privileges;
然后才能修改密码
解释一下这条命令的作用
通常是在修改过root帐号的设置后,怕重启后无法再登录,那么直接执行这条命令之后就可以看权限设置是否生效。就是在修改用户信息或者权限后,如果想不重启mysql服务而使修改的内容直接生效,那么就需要执行这个语句。