MySQL死锁导致无法查询解决_MySQL
MySQL死锁导致无法查询解决
最近在维护数据库时,解析数据时候,数据一直不能入库。原因知道,是因为MySQL的事务产生了死锁,前几次我直接重启MySQL。
最近发现频繁的出现。所以找到一种方法。
SELECT * FROM INFORMATION_SCHEMA.INNODB_TRX;
trx_id trx_state trx_started trx_requested_lock_id trx_wait_started trx_weight trx_mysql_thread_id trx_query trx_operation_state trx_tables_in_use trx_tables_locked trx_lock_structs trx_lock_memory_bytes trx_rows_locked trx_rows_modified trx_concurrency_tickets trx_isolation_level trx_unique_checks trx_foreign_key_checks trx_last_foreign_key_error trx_adaptive_hash_latched trx_adaptive_hash_timeouttrx_id trx_state trx_started trx_requested_lock_id trx_wait_started trx_weight trx_mysql_thread_id trx_query trx_operation_state trx_tables_in_use trx_tables_locked trx_lock_structs trx_lock_memory_bytes trx_rows_locked trx_rows_modified trx_concurrency_tickets trx_isolation_level trx_unique_checks trx_foreign_key_checks trx_last_foreign_key_error trx_adaptive_hash_latched trx_adaptive_hash_timeout
查看事件比较久的事物。如何当前时间select sysdate();AM 10:07而事物开始的时间是:AM 9:50,显示是不正常的。根据这个事物的线程ID(trx_mysql_thread_id)。
执行命令:
kill 线程ID
数据库修复正常。
查看正在锁的事务
SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS;
查看等待锁的事务
SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS;
bitsCN.com
推荐阅读
-
MYSQL无法启动提示: Default storage engine (InnoDB) is not available的解决方法
-
php后台经常提示无法连接mysql 刷新后又可以访问的解决方法
-
记录无法安装mysql-Invalid GPG Key from file:/etc/pki/rpm-gpg/RPM-GPG-KEY-mysql的解决办法
-
MySql修改密码后phpMyAdmin无法登陆的解决方法
-
windows无法启动MySQL服务报错1067的解决方法
-
MYSQL无法连接 提示10055错误的解决方法
-
MySQL无法重启报错Warning: World-writable config file ‘/etc/my.cnf’ is ignored的解决方法
-
XAMPP中Apache能启动但MySql无法启动解决方法
-
如何解决PHP使用mysql_query查询超大结果集超内存问题
-
MySQL无法读表错误的解决方法(MySQL 1018 error)