MariaDB ERROR 1045(28000):拒绝用户'root'@'localhost'访问(使用密码:NO)

时间:2018-03-08 21:06:22

标签: mysql server mariadb lamp

我做的一切都没有成功:(如果我尝试更改mysql root密码,我仍然会收到错误

到目前为止我做了什么: 1)

service mysql stop

2)

mysqld_safe --skip-grant-tables &

3)

mysql -u root

4)

update user SET PASSWORD=PASSWORD("<my_new_password>") WHERE USER='root'; flush privileges; exit

5)

mysql -u root -p 

和...

我得到了全部时间:

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

我的服务器是ubuntu 16.0.4

有人可以告诉我,如果我重新安装mariaDB,我仍会拥有自己的数据库吗?目前我甚至无法进行备份:(

5 个答案:

答案 0 :(得分:0)

我知道这个问题很旧,但是我没有注意到

sudo mysql -u root

较新版本的mariadb似乎对root用户使用linux授权,而忽略密码。

答案 1 :(得分:0)

我遇到了同样的问题,发现了这个:

enter image description here

即问题是root的密码,它比其他用户更严格,即使他们拥有root的所有权限。即 root 的 密码需要为 min。长度为 10!虽然其他用户可以是 8。

事实上,错误消息具有误导性。与root是否被授予localhost访问无关,是你的密码错误!(bug MariaDB/mysql)

如果我使用例如Synology Interface 可以重置密码(长度为 10),也可以重新登录/重启 mysql 服务,mysql -u root -p 有效!

答案 2 :(得分:0)

mysql.user 表中可能缺少您的 root 用户,因此您的步骤 (4) 没有任何作用

这是帮助恢复它的答案: restoring-deleted-root-user-and-password-for-mysql

答案 3 :(得分:-1)

尝试运行sudo mysql_secure_installation

这会提示您更改root密码以及其他一些内容。

此外,如果您可以访问phpmyadmin页面,那么您可以导出数据库并重新安装mariaDB以进行备份,然后在重新安装后再次导入表格。

答案 4 :(得分:-3)

尝试运行mysql -u root -p 后跟密码