Stackoverflow的长期读者,第一次提交问题.
出于各种原因,我不得不在几天前硬件重启我的开发笔记本电脑.当我把它恢复时,我意识到mysqld不再可访问.我通常在本地开发机器上连接root.我无法像往常一样通过init脚本启动/停止它,所以我一如既往地转向各种搜索引擎.在咨询Google,Bing和Duckduckgo.com之后,我仍然无法找到解决问题的方法.我找到了类似问题的解决方案,但都涉及更改debian-sys-maint的自动生成的密码并以root身份登录以设置新的密码,但由于我无法以root身份登录,这也无法解决我的问题.
有没有人知道任何其他解决方案 - 这种困境的候选人?
错误:'访问被拒绝用户'debian-sys-maint'@'localhost'(使用密码:YES)'.
我恢复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在重新启动之前我必须这样做.
听起来您可能已经删除了数据库(“mysql”)中保存访问所有数据库凭据的表。您是否在 MySQL 日志 (/var/log/mysql) 中看到任何表明存在问题的内容?
如果存在损坏,尝试修复它的方法将取决于您的存储引擎。您使用的是 MyISAM(默认)吗?如果是这样,请尝试关闭守护程序并使用myisamchk尝试修复。
如果无法修复,您可能必须从备份中恢复(您有备份,对吧?)或重新初始化 MySQL(可能最简单的方法是通过 APT 重新安装软件包)。
您也可以尝试在 ServerFault 上获取经验丰富的系统管理员的更多建议。
PS-如果你有系统超级用户访问权限,即使你无法登录MySQL,你也可以重置MySQL root密码,尽管过程有些复杂。
| 归档时间: |
|
| 查看次数: |
10565 次 |
| 最近记录: |