使用 mysqld_safe 运行 MySQL 后如何停止它?
Posted
技术标签:
【中文标题】使用 mysqld_safe 运行 MySQL 后如何停止它?【英文标题】:How to stop MySQL after running it using mysqld_safe? 【发布时间】: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
启动时,如何停止它?
【问题讨论】:
Stack Overflow 是一个编程和开发问题的网站。也许Database Administrators Stack Exchange 会是一个更好的提问地点。 ***.com/questions/37879448/… 【参考方案1】:其他答案对我不起作用。不得不这样做
sudo killall -KILL mysql mysqld_safe mysqld
【讨论】:
如果你想避免数据库不一致,千万不要使用它。 Kill 信号会立即终止 MySQL,如果它有一个正在运行的事务将过早结束。 QUIT 信号(如@tadman 所写)避免了这种情况并正确终止 MySQL。【参考方案2】:命令是:
$ mysqladmin shutdown
【讨论】:
如果您的目标是创建用户,请运行mysqld_safe
而不将其置于后台 (&
),这样您只需 ^C
将其中断并返回正常操作。跨度>
@jackalope 我注意到较新的 MySQL 版本需要 ^\ (SIGQUIT)。
运行这个让我拒绝访问以上是关于使用 mysqld_safe 运行 MySQL 后如何停止它?的主要内容,如果未能解决你的问题,请参考以下文章