我已经删除了意外地将 /etc/mysql 目录现在我不能跑了mysql命令。有什么方法可以恢复它吗?
现在我在运行时收到此错误sudo /etc/init.d/mysql start
mysql.service - MySQL Community Server
Loaded: loaded (/lib/systemd/system/mysql.service; disabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Wed 2018-08-15 20:17:03 EDT; 9s ago
Process: 4101 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=1/FAILURE)
Aug 15 20:17:03 nullbyte systemd[1]: mysql.service: Service hold-off time over, scheduling restart.
Aug 15 20:17:03 nullbyte systemd[1]: mysql.service: Scheduled restart job, restart counter is at 5.
Aug 15 20:17:03 nullbyte systemd[1]: Stopped MySQL Community Server.
Aug 15 20:17:03 nullbyte systemd[1]: mysql.service: Start request repeated too quickly.
Aug 15 20:17:03 nullbyte systemd[1]: mysql.service: Failed with result 'exit-code'.
Aug 15 20:17:03 nullbyte systemd[1]: Failed to start MySQL Community Server.
答案1
恢复备份。
该目录不仅包含您的 MySQL 配置,还包含证书和用于恢复的 root 密码。除了您自己,没有人能够为您提供这些。
答案2
你也许可以这样做
sudo apt install --reinstall mysql-common
如果不起作用,请mysql-common.deb
从这里,选择正确的版本,使用存档管理器打开它,然后从中提取目录。您可能需要创建几个符号链接。在我的系统上,它们是:
/etc/mysql/my.cnf -> /etc/alternatives/my.cnf
/etc/alternatives/my.cnf -> /etc/mysql/mysql.cnf (this link probably still exists)
尽管 的最新版本附带了mysql
的版本。因此请检查指向的内容。mysql.cnf
/etc/mysql/conf.d
/etc/alternatives/my.cnf
答案3
如果没有备份,恢复的机会太渺茫了。目录“/etc/mysql”有配置文件。最重要的文件是 debian.cnf。因为它有系统生成的密码。
尝试用手术刀恢复。
https://www.howtoforge.com/recover-deleted-files-with-scalpel
如果您无法恢复任何一个文件。我使用的是 mysql 5.7。如果您使用的是相同版本,请替换 debian.cnf 并尝试。
https://drive.google.com/file/d/1Fm8qxT92dAAF64xvMFQWI44XhsyokrW-/view?usp=sharing
所有者和组应为 root。
一切顺利
答案4
您可以完全重新安装 mysql,如另一篇文章所述https://unix.stackexchange.com/a/27558