“杀死一个mysql”;添加列";当流程不可用时';无法在进程列表中显示

“杀死一个mysql”;添加列";当流程不可用时';无法在进程列表中显示,mysql,process,kill-process,Mysql,Process,Kill Process,我试图在一个包含大量行(150万行)的表中插入大量列(70列),这需要花费很长时间。 我想在不破坏数据的情况下停止它。 我在某个地方读到我需要跑步的消息 show processlist 找到进程,然后杀死它。 但当我这么做的时候,我只能看到一个进程,而不是我想杀死的那个进程 这是否意味着它实际上没有运行?或者我还应该做些什么?有什么想法吗?对于非特权用户,SHOW PROCESSLIST仅显示您所连接的用户的会话 以运行您希望看到的进程的同一用户的身份连接到MySQL服务器 或者,以特权用户

我试图在一个包含大量行(150万行)的表中插入大量列(70列),这需要花费很长时间。 我想在不破坏数据的情况下停止它。 我在某个地方读到我需要跑步的消息

show processlist
找到进程,然后杀死它。 但当我这么做的时候,我只能看到一个进程,而不是我想杀死的那个进程


这是否意味着它实际上没有运行?或者我还应该做些什么?有什么想法吗?

对于非特权用户,
SHOW PROCESSLIST
仅显示您所连接的用户的会话

以运行您希望看到的进程的同一用户的身份连接到MySQL服务器

或者,以特权用户身份连接。例如,
'root'@'localhost'
,或被授予
进程
权限的任何用户。然后,
SHOW PROCESSLIST
将显示所有用户的会话

参考:



如果
SHOW PROCESSLIST
仅返回一行,则这一行表示正在运行
SHOW PROCESSLIST
语句的会话。返回一行意味着没有来自同一用户的其他会话。因此,这意味着来自同一用户的任何其他连接都已终止。

如果它正在运行,则它位于该列表中。如果不在该列表中,可能是您无意中在另一个服务器实例上运行了查询?@tadman我不确定您的意思。我在phpMyAdmin做这件事。我添加了带有内置“添加列”功能的列,现在它只是说:“正在加载…”。然后,我在浏览器中打开了一个新选项卡,登录到phpMyAdmin,打开了表和SQL选项卡,在其中我键入了“ShowProcessList”。我的意思是,如果该查询正在运行,那么它将显示在进程列表中。如果它没有运行,或者它正在另一台服务器上运行,它就不会运行。请确保您连接到同一台服务器,因为您可能在错误的位置查找,或者它可能已经完成。@spencer7593我使用的是添加列的同一用户。如果您作为同一用户连接到同一个数据库实例,并且您在列表中只看到一个进程,则另一个会话已终止。运行ShowProcessList语句的会话将在返回中。如果只返回一个会话,则不会有来自同一用户的任何其他会话。我将此标记为正确答案,因为它提供了信息并且似乎是正确的。在等待了一个多小时之后,我得到了两个错误(未定义的索引)。数据似乎没有损坏。谢谢