我正在使用 Ubuntu Natty。
我使用以下命令从命令行运行 mysqld:
mysqld -ndbcluster --console -umysql
我得到以下信息:
120314 0:09:49 [Warning] option 'new': boolean value 'dbcluster' wasn't recognized. Set to OFF.
120314 0:09:49 [Note] Plugin 'ndbcluster' is disabled.
120314 0:09:49 [Note] Plugin 'FEDERATED' is disabled.
120314 0:09:50 InnoDB: The InnoDB memory heap is disabled
120314 0:09:50 InnoDB: Mutexes and rw_locks use GCC atomic builtins
120314 0:09:50 InnoDB: Compressed tables use zlib 1.2.3
120314 0:09:50 InnoDB: Using Linux native AIO
120314 0:09:50 InnoDB: Initializing buffer pool, size = 128.0M
120314 0:09:50 InnoDB: Completed initialization of buffer pool
120314 0:09:50 InnoDB: highest supported file format is Barracuda.
120314 0:09:50 InnoDB: Waiting for the background threads to start
120314 0:09:51 InnoDB: 1.1.8 started; log sequence number 1595675
120314 0:09:51 [Note] Event Scheduler: Loaded 0 events
120314 0:09:51 [Note] mysqld: ready for connections.
Version: '5.5.19-ndb-7.2.4-gpl-log' socket: '/var/lib/mysql/mysql.sock' port: 3306 MySQL Cluster Community Server (GPL)
但是,我似乎无法弄清楚如何终止 session 。我尝试过 Control-C 和许多其他组合。
如何结束 session 并返回命令提示符?!
谢谢。
最佳答案
ctrl+c 将生成 SIGINT
,它可以被应用程序捕获或阻止。如果你只是从另一个终端运行 killall mysqld
,你会发送 SIGTERM
到进程,它也可以被捕获或阻止,但会给出一个更强烈的提示进程应立即终止。 (这对于干净地关闭数据库表非常有用。)
Ctrl+ 将生成 SIGQUIT
,它可以被应用程序捕获或阻止。 (如果应用程序没有捕获或阻止此信号,操作系统将为您生成一个核心文件。)
您可以使用kill(1)
手动发送SIGKILL
; SIGKILL
无法被捕获或阻塞,因此如果内核足够活跃以处理信号,它将始终终止进程。使用 pidof
或其他机制查找 pid,然后运行 kill -SIGKILL pid
。请注意,这是一次粗暴的死亡;该进程没有机会自行清理,因此数据库表可能处于不一致状态,可能需要一些时间才能在下次启动时进行修复。
如果你只是想得到一个提示,你可以使用 ctrl+z 来暂停进程。然后,您可以使用 shell 的 bg
和 fg
命令让进程继续在后台运行,或者在前台重新加入进程。 (这个术语是无意义的,但我希望它传达了这个想法。)
关于linux - 终止 MySQLd session 以返回命令提示符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9694256/