mysql启动安全模式,以及连接时报错“Access denied for user ''@'localhost' to database 'mysql' ”

时间:2022-09-26 19:19:59
很多时候在安装mysql之后,更改密码之后,都会出现“Access denied for user ''@'localhost' to database 'mysql' ”的错误。解决思路大家都知道,启动安全模式,然后更改登录权限之类的。这里其实有一个误区,很多小伙伴更改密码时是这样更改的。
update user set password = '123456' where user ="root" 
其实上面的是错误的,不能直接 password = '123456'这样改,应该通过password方法来生成密码,如下:
update user set password = password ('123456') where user = "root"
上面的写法才是对的。所以如果是用第一条sql的写法改的密码,自然会出现“Access denied for user ''@'localhost' to database 'mysql' ”的错误。通过安全模式登录后,直接重新修改密码就可以了,无须修改登录权限。
另外,在启动安全模式时会遇到无法启动,可以查看错误日志。错误日志一般的路径:log-error=/var/log/mariadb/mariadb.log。我的是因为权限不够,赋予了mysql的所有权限之后还是不行,所以我就直接创建了目录,然后再次自动安全模式,就可以了。

参考:http://www.cnblogs.com/jukan/p/5773232.html