如何在mysql中停止、中止或中断查询的执行?

vs91vp4v  于 2021-06-25  发布在  Mysql
关注(0)|答案(2)|浏览(1677)

有没有一种方法可以立即停止在mysql服务器中执行sql脚本,比如“break”或“exit”命令?
我将要运行的语句放在“updates.sql”文件中,并使用mysql命令执行:

mysql -u <username> <dtabase_name> < updates.sql

ALTER TABLE `app_batch`
ADD COLUMN `fee` DOUBLE NOT NULL AFTER `mode`;
ALTER TABLE `app_course` 
DROP COLUMN `course_fee`, 
DROP COLUMN `duration_type`,
DROP COLUMN `duration`,

这是我在文件中的查询。
它正在执行 DROP COLUMN 但行事件

ADD COLUMN `fee` DOUBLE NOT NULL AFTER `mode`;

失败

2eafrhcq

2eafrhcq1#

使用终端连接到mysql服务器(如果您使用的是windows,请使用命令提示符)
mysql-u[用户名]-p[密码]
运行以下命令以列出正在运行的查询。

mysql> show full processlist;

+----+------+-----------+------+---------+------+----------+-----------------------+
| Id | User | Host      | db   | Command | Time | State    | Info                  |
+----+------+-----------+------+---------+------+----------+-----------------------+
|  8 | root | localhost | NULL | Sleep   |   25 |          | NULL                  |
|  9 | root | localhost | NULL | Query   |    0 | starting | show full processlist |
+----+------+-----------+------+---------+------+----------+-----------------------+
2 rows in set (0.00 sec)

然后按进程id终止查询
mysql>杀死9个;

5ktev3wc

5ktev3wc2#

使用 SHOW PROCESSLIST 查看所有连接,并删除要删除的进程id。

mysql>show processlist;

mysql> kill "number from first col";

或者您也可以终止完整连接以停止特定连接的所有查询。

相关问题