我需要备份旧数据库以重新安装 CentOS 7.5 服务器。为此,我面临的问题是无法获取任何 MySQL 密码。因此,我尝试按照以下步骤恢复 MySQL 的 root 密码本教程(我已经在多个服务器上完成了此操作)。
问题是,当我尝试使用 systemctl stop命令或stop 时mysql
,或mysqld
无法作为服务使用(我不使用括号是为了证明我尝试使用每个命令)但服务不存在,我收到错误:mysql(d)
/etc/init.d/mysql(d)
mysql
mysqld
“找不到单元 mysqld.service。”
和这个:
“无法找到单元 mysql.service。”
后来我假设 MySQL 没有运行并尝试以下命令:
sudo mysqld_safe --skip-grant-tables &
我收到错误:
“190903 15:23:00 mysqld_safe mysqld 进程已存在”
我不知道发生了什么,或者如何停止这个 MySQL 实例。
答案1
获取进程ID并将其终止。
假设没有其他 MySQL 实例绑定到其他端口等,那么只需执行
sudo kill `pidof mysqld`
应该可以工作(我不得不在桌面上运行两次)。如果有要尝试终止的进程,它不会生成任何输出。当没有 mysqld 进程时,它会生成一些错误输出。
如果同一台机器上还有其他 MySQL 实例,而您无法终止它们,那么您可以使用类似工具lsof
来查找打开特定端口的进程 ID 等。