programing

Amazon RDS 내에서 실행 중인 MySQL의 프로세스를 삭제하려면 어떻게 해야 합니까?

css3 2023. 10. 17. 20:29

Amazon RDS 내에서 실행 중인 MySQL의 프로세스를 삭제하려면 어떻게 해야 합니까?

MySql 5.5.37을 사용하고 있습니다.근본적으로, 테이블을 잠그는 거래를 없애려고 합니다.나는 달립니다

SELECT * FROM INFORMATION_SCHEMA.INNODB_TRX\G   

출력을 얻을 수 있습니다.

…
*************************** 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

하지만 kill 명령문을 실행하면 오류가 발생합니다.

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

MySql에서 이 트랜잭션을 지우려면 어떻게 해야 합니까?

RDS MySQL을 사용하는 경우 Bill 답변을 완료하기 위해 다음 예와 같이 rds_kill() 프로시저를 사용할 수 있습니다.

MySQL에 연결

리스트 프로세스:

SHOW PROCESSLIST;

제 경우에는 id 1948452 프로세스를 죽이고 싶습니다.

CALL mysql.rds_kill(1948452);

다 했어요.

항상 자신의 스레드를 죽일 수 있지만 다른 사람의 스레드를 죽이려면 슈퍼 권한이 필요합니다.

RDS에 계십니까? 그렇다면 사용자 이름이 'root'일지라도 SUPER 권한이 없습니다.'루트'라는 이름에는 암묵적으로 특별한 것이 없고, 중요한 것은 특권입니다.

다음을 실행하여 권한을 확인할 수 있습니다.

mysql> SHOW GRANTS;

스레드를 죽이는 방법에 대해서는 RDS라면 procedure rds_kill()을 호출하여 대신 할 수 있습니다.

MySQL용 Azure Database를 사용하는 경우 절차를 사용할 수 있습니다.az_kill:

리스트 프로세스:

SHOW PROCESSLIST;

죽이고 싶은 프로세스의 ID가 345인 경우 다음을 실행합니다.

CALL mysql.az_kill(345);

현재 로그인한 사용자가 프로세스 345를 소유하지 않은 경우에도 작동합니다.

언급URL : https://stackoverflow.com/questions/26476400/how-do-i-kill-a-process-in-mysql-running-within-amazon-rds