错误:'访问被拒绝用户'debian-sys-maint'@'localhost'(使用密码:YES)'

dVw*_*dVw 8 mysql debian root

Stackoverflow的长期读者,第一次提交问题.

出于各种原因,我不得不在几天前硬件重启我的开发笔记本电脑.当我把它恢复时,我意识到mysqld不再可访问.我通常在本地开发机器上连接root.我无法像往常一样通过init脚本启动/停止它,所以我一如既往地转向各种搜索引擎.在咨询Google,Bing和Duckduckgo.com之后,我仍然无法找到解决问题的方法.我找到了类似问题的解决方案,但都涉及更改debian-sys-maint的自动生成的密码并以root身份登录以设置新的密码,但由于我无法以root身份登录,这也无法解决我的问题.

有没有人知道任何其他解决方案 - 这种困境的候选人?

错误:'访问被拒绝用户'debian-sys-maint'@'localhost'(使用密码:YES)'.

Can*_*ğlu 9

我恢复mysql数据库后,我得到了同样的错误:

mysql -h localhost -u root -p < mysql.backup.sql
Run Code Online (Sandbox Code Playgroud)

mysql.backup.sql文件来自另一台服务器.

问题似乎源于目标和源系统中存储在/etc/mysql/debian.cnf中的不同密码.我将密码行从源系统的debian.cnf文件复制/粘贴到目标系统中的文件.然后我能够毫无问题地重启mysqld.

注意:killall mysqld在重新启动之前我必须这样做.

  • 我刚刚按照你的建议找到了/etc/mysql/debian.cnf中列出的密码.我们称之为'寻找'.然后我在MySQL中重置密码:"将'.*'的所有权限授予''debian-sys-maint'@'localhost',由'seekrit'标识;刷新权限;" 奇迹般有效! (3认同)

Con*_*ltz 3

听起来您可能已经删除了数据库(“mysql”)中保存访问所有数据库凭据的表。您是否在 MySQL 日志 (/var/log/mysql) 中看到任何表明存在问题的内容?

如果存在损坏,尝试修复它的方法将取决于您的存储引擎。您使用的是 MyISAM(默认)吗?如果是这样,请尝试关闭守护程序并使用myisamchk尝试修复。

如果无法修复,您可能必须从备份中恢复(您有备份,对吧?)或重新初始化 MySQL(可能最简单的方法是通过 APT 重新安装软件包)。

您也可以尝试在 ServerFault 上获取经验丰富的系统管理员的更多建议。

PS-如果你有系统超级用户访问权限,即使你无法登录MySQL,你也可以重置MySQL root密码,尽管过程有些复杂