Jos*_*h K 5 mysql sql database sql-update
我有一个约800k行的表.我跑了一个update users set hash = SHA1(CONCAT({about eight fields})) where 1;
现在我有一个挂起的Sequel Pro流程,我不确定这个mysqld过程.
这是两个问题:
杀死这些程序可能带来什么危害?我正在开发一个单独的数据库,因此系统上的其他数据库不会受到任何损害,对吧?
假设您必须更新这样的表.什么是更快/更可靠的更新方法,而无需编写单独的脚本.
我只是检查与phpMyAdmin,它看起来好像完成查询.我仍然使用Sequel Pro使用我的两个核心100%...
如果您正在使用由事务日志支持的InnoDB进行恢复和回滚,那么您可以大量使用,尤其是在非生产环境中.
终止renegade查询的最简单方法是使用MySQL shell作为root用户:
SHOW PROCESSLIST;
Run Code Online (Sandbox Code Playgroud)
这将为您提供当前连接的列表以及每个连接的进程ID.要终止任何给定的查询,例如数字19,请使用:
KILL 19;
Run Code Online (Sandbox Code Playgroud)
通常,这将撤消并回滚查询.在某些情况下,这还不够,您可能必须强制退出MySQL服务器进程kill -9.在大多数情况下,您应该能够立即重新启动服务器,并且数据库将处于上次完全提交状态.