【问题标题】:How to stop MySQL after running it using mysqld_safe?使用 mysqld_safe 运行 MySQL 后如何停止它?
【发布时间】:2019-04-04 19:20:29
【问题描述】:

我正在使用 mysqld_safe 为我的 root 用户创建密码(在 Ubuntu 18.04 下,安装时不会询问)。

要启动 MySQL,我已经完成了:

$ sudo mysqld_safe --skip-grant-tables&

现在,MySQL 守护程序正在运行,我无法停止它。通过终止进程来停止它会阻止我启动另一个 MySQL 守护进程,因为前一个守护进程没有归还资源,导致如下错误:

2018-10-31T14:50:40.238735Z 0 [ERROR] InnoDB: Unable to lock ./ibdata1 error: 11
2018-10-31T14:50:40.238815Z 0 [Note] InnoDB: Check that you do not already have another mysqld process using the same InnoDB data or log files.

那么,当 MySQL 守护程序使用 mysqld_safe 启动时,如何停止它?

【问题讨论】:

标签: mysql linux mysql-5.7


【解决方案1】:

其他答案对我不起作用。不得不这样做 sudo killall -KILL mysql mysqld_safe mysqld

【讨论】:

  • 如果你想避免数据库不一致,千万不要使用它。 Kill 信号会立即终止 MySQL,如果它有一个正在运行的事务将过早结束。 QUIT 信号(如@tadman 所写)避免了这种情况并正确终止 MySQL。
【解决方案2】:

命令是:

$ mysqladmin shutdown

【讨论】:

  • 如果您的目标是创建用户,请运行 mysqld_safe 而不将其置于后台 (&),这样您只需 ^C 将其中断并返回正常操作。跨度>
  • @jackalope 我注意到较新的 MySQL 版本需要 ^\ (SIGQUIT)。
  • 运行这个让我访问被拒绝
猜你喜欢
  • 2022-10-07
  • 2012-04-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-08-11
  • 2018-01-14
  • 1970-01-01
相关资源
最近更新 更多