如何在MySQL中停止或中止或突破执行查询?

时间:2018-01-09 06:55:54

标签: mysql sql mariadb

有没有办法立即停止在MySQL服务器中执行SQL脚本,例如" break"或"退出"命令?

我将要运行的语句放在文件" 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`;

失败

2 个答案:

答案 0 :(得分:1)

  1. 使用终端连接到mysql服务器(使用命令提示符,如果您使用的是Windows)

    mysql -u [user_name] -p [密码]

  2. 运行以下命令列出正在运行的查询。

  3. 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)
    
    1. 然后按进程ID

      终止查询

      的MySQL&GT;杀9;

答案 1 :(得分:0)

使用 SHOW PROCESSLIST 查看所有连接, KILL 您要杀死的进程ID。

mysql>show processlist;

mysql> kill "number from first col";

或者您也可以KILL完成连接以停止来自特定连接的所有查询。