MariaDB ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
Posted
技术标签:
【中文标题】MariaDB ERROR 1045 (28000): Access denied for user \'root\'@\'localhost\' (using password: NO)【英文标题】:MariaDB ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)MariaDB ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) 【发布时间】:2018-08-17 08:34:53 【问题描述】:我所做的一切都没有成功:(如果我尝试更改 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,我的数据库仍然存在吗? 现在我什至无法进行备份 :(
【问题讨论】:
"using password: NO" 表示您在尝试连接数据库时没有发送密码。显示您正在尝试连接的代码。 哎呀...通过 SQL 命令修改系统表是行不通的,并且可能会损坏您的数据库(例如,如果用户有另一个默认身份验证而不是 mysql_native_password)为什么不使用 SET PASSWORD FOR '根'@'本地主机' ....?我还建议在第 4 步和第 5 步之间重新启动 MariaDB。 【参考方案1】:尝试运行sudo mysql_secure_installation
这应该会提示您更改 root 密码以及其他一些内容。
此外,如果您可以访问 phpmyadmin 页面,那么您可以导出数据库并重新安装 mariaDB 以进行备份,然后您可以在重新安装后再次导入表。
【讨论】:
我没有 phpmyadmin 访问权限:/#1045 - 用户 'skni'@'localhost' 的访问被拒绝(使用密码:YES) 在新的 mariadb 安装中不起作用,因为不知何故自动设置的 root 密码不为空。如果有人发现这个 ***(由于某种原因它在谷歌上排名很高),另一个问题会有更多讨论——***.com/questions/33510184/…【参考方案2】:尝试运行mysql -u root -p
后面是你的密码
【讨论】:
他不是第5步吗?【参考方案3】:我知道这个问题很老,但我没有注意到有人尝试
sudo mysql -u root
较新版本的mariadb似乎对root用户使用linux授权,忽略密码。
【讨论】:
【参考方案4】:我也遇到了同样的问题,发现了这个:
即问题是root的密码,它比其他用户更严格,即使他们拥有root的所有权限。即 root 的密码必须是最小的。长度为 10! 虽然其他用户可以是 8。
事实上,错误消息具有误导性。跟root是否被授予localhost访问无关,是你的密码错误!(bug MariaDB/mysql)
如果我使用例如Synology 接口重置密码(长度为 10),也可以重新登录/重启 mysql 服务,mysql -u root -p
有效!
【讨论】:
【参考方案5】:您的 root 用户可能从 mysql.user 表中丢失,因此您的步骤 (4) 什么也不做
这里有一个帮助恢复它的答案: restoring-deleted-root-user-and-password-for-mysql
【讨论】:
以上是关于MariaDB ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)的主要内容,如果未能解决你的问题,请参考以下文章
Mariadb初始登陆报错 ERROR 1045 (28000) 的解决办法
centos环境下登录mysql报 ERROR 1045 (28000)怎么解决
mysql ERROR 1045 和2058时(28000): 错误解决办法
mysql ERROR 1045 (28000): 错误解决办法