MySQL是當前最流行的關系型數據庫之一,它提供了多種命令行工具,方便管理和維護數據庫。
在使用 MySQL 時,有時會遇到進程無法正常結束的情況。這時,我們需要使用命令行來強制結束進程。
mysqladmin -u root -p processlist
以上命令可以查看當前所有 MySQL 進程的詳細信息,包括進程 ID、進程狀態等。
+----+------+-----------+------+---------+------+--------------+------------------------------------------------------------------------------------------------------+----------+ | Id | User | Host | db | Command | Time | State | Info | Progress | +----+------+-----------+------+---------+------+--------------+------------------------------------------------------------------------------------------------------+----------+ | 89 | root | localhost | test | Sleep | 3 | | NULL | 0.000 | | 91 | root | localhost | test | Query | 0 | executing | SELECT * FROM large_table WHERE COLUMN1 LIKE '%ABC%'; | 0.000 | | 92 | root | localhost | test | Query | 0 | Sending data | SELECT * FROM large_table WHERE COLUMN1 LIKE '%DEF%'; | 0.000 | +----+------+-----------+------+---------+------+--------------+------------------------------------------------------------------------------------------------------+----------+
假設我們需要結束 Id 為 91 的進程,可以使用以下命令:
mysqladmin -u root -p kill 91
注意,kill 命令只是向進程發送信號,因此并不一定能立即終止進程。如果需要確保進程被終止,可以使用 kill -9 命令:
mysqladmin -u root -p kill -9 91
使用完畢后,可以再次查看進程列表確認進程已經被終止:
+----+------+-----------+------+---------+------+-------+-------------------+------------------------+ | Id | User | Host | db | Command | Time | State | Info | Progress | +----+------+-----------+------+---------+------+-------+-------------------+------------------------+ | 89 | root | localhost | test | Sleep | 11 | | NULL | 0.000 | | 92 | root | localhost | test | Query | 1 | NULL | show processlist | 0.00000000000000000000 | +----+------+-----------+------+---------+------+-------+-------------------+------------------------+
通過上述步驟,我們可以輕松地強制結束 MySQL 中的進程。