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.