No cliente de linha de comando do MySQL (Linux), quando eu mato uma consulta pressionando CTRL+ , cisso geralmente funciona bem.
mysql (slave) > select sleep(5);
^CCtrl-C -- sending "KILL QUERY 117920686" to server ...
Ctrl-C -- query aborted.
+----------+
| sleep(5) |
+----------+
+----------+
1 row in set (0.78 sec)
No entanto, quando faço o mesmo no meu servidor mestre ao vivo (de todos os servidores, deve ser este ...), de alguma forma, ele envia o ID de thread errado.
mysql (master) > select sleep(5);
^CCtrl-C -- sending "KILL QUERY 770543254" to server ...
Ctrl-C -- query aborted.
+----------+
| sleep(5) |
+----------+
+----------+
1 row in set (5.00 sec) /* <- it obviously hasn't aborted at all */
O ID é muito baixo. Outros encadeamentos têm IDs como 26534760326. Todos os servidores são da mesma versão:
# yum list installed mysql*
Loaded plugins: dellsysid, rhnplugin, security, ulninfo
This system is receiving updates from RHN Classic or Red Hat Satellite.
Installed Packages
MySQL-python.x86_64 1.2.3-0.3.c1.1.el6 @public_ol6_latest
mysql-community-client.x86_64 5.6.27-2.el6 @mysql56-community
mysql-community-common.x86_64 5.6.27-2.el6 @mysql56-community
mysql-community-libs.x86_64 5.6.27-2.el6 @mysql56-community
mysql-community-libs-compat.x86_64 5.6.27-2.el6 @mysql56-community
mysql-community-release.noarch el6-5 @/mysql-community-release-el6-5.noarch
mysql-community-server.x86_64 5.6.27-2.el6 @mysql56-community
Informação adicional:
A connection_id()
função retorna o valor correto no entanto.
root@ods01:(none) > select connection_id();
+-----------------+
| connection_id() |
+-----------------+
| 26542310314 |
+-----------------+
1 row in set (0.00 sec)
root@ods01:(none) > select sleep(5);
^CCtrl-C -- sending "KILL QUERY 772506538" to server ...
Ctrl-C -- query aborted.
+----------+
| sleep(5) |
+----------+
+----------+
1 row in set (5.00 sec)
Alguém sabe como consertar isso?
Escreva um relatório de bug! http://bugs.mysql.com .
Ou seja, o connection_id de 64 bits foi cortado para 32 bits para enviar o KILL, enviando-o para o id errado.
Poucos usuários passam de 4 bilhões de conexões. Há quanto tempo seu servidor está ativo? Espero que o código não esteja se reconectando para cada consulta.
Alterar registros
(Pequenos números de bugs podem ser encontrados em bugs.mysql.com; grandes números de bugs são inacessíveis - internos ao Oracle.)
Portanto, recomendamos que você atualize para 5.6.9+ ou 5.7.5+. Como você está em 5.6.27, há um quebra-cabeça. Talvez algum detalhe nesse longo Changelog diga algo útil.