try transaction transacciones start savepoint manejar example ejercicios ejemplo como catch mysql transactions root deadlock kill

mysql - transaction - transacciones en phpmyadmin



¿Cómo elimino una transacción en MySql como root? (2)

Para completar la respuesta de Bill, si está utilizando RDS MySQL puede usar el procedimiento rds_kill (), como en el siguiente ejemplo:

Conéctese a MySQL

Proceso de lista:

SHOW PROCESSLIST;

En mi caso, quiero matar el proceso de id 1948452:

CALL mysql.rds_kill(1948452);

Hecho

Estoy usando MySql 5.5.37. Como root, estoy intentando eliminar una transacción que bloquea algunas tablas. Corro

SELECT * FROM INFORMATION_SCHEMA.INNODB_TRX/G

y obtener la salida

… *************************** 6. row *************************** trx_id: 143E6CDE trx_state: RUNNING trx_started: 2014-10-20 06:03:56 trx_requested_lock_id: NULL trx_wait_started: NULL trx_weight: 2305887 trx_mysql_thread_id: 158360 trx_query: delete from event where id not in (select q.* from (select e.id FROM event e, (select object_id, max(date_processed) d from event group by object_id) o where e.object_id = o.object_id and e.date_processed = o.d) q) trx_operation_state: NULL trx_tables_in_use: 3 trx_tables_locked: 3 trx_lock_structs: 210634 trx_lock_memory_bytes: 19790264 trx_rows_locked: 10668793 trx_rows_modified: 2095253 trx_concurrency_tickets: 0 trx_isolation_level: REPEATABLE READ trx_unique_checks: 1 trx_foreign_key_checks: 1 trx_last_foreign_key_error: NULL trx_adaptive_hash_latched: 0 trx_adaptive_hash_timeout: 10000

Pero cuando ejecuto una declaración "kill", obtengo un error.

mysql> kill 158360; ERROR 1095 (HY000): You are not owner of thread 158360

¿Cómo elimino esta transacción de MySql?


Siempre puedes matar tu propio hilo, pero necesitas el SUPER privilegio para matar el hilo de otra persona.

¿Estás en RDS? Si es así, no tiene SUPER privilegio incluso si su nombre de usuario es ''root''. No hay nada implícitamente especial sobre el nombre ''raíz'', es el privilegio lo que cuenta.

Puede confirmar sus privilegios ejecutando:

mysql> SHOW GRANTS;

En cuanto a cómo matar el hilo, si esto es RDS, puede llamar a un procedimiento rds_kill () para que lo haga por usted.