mysql操作实战

show processlist ;

select * from information_schema.processlist where db = ‘xxxx’ ORDER BY time DESC;

SHOW OPEN TABLES WHERE In_use > 0;

show engine innodb status;

kill 5192983;

select * from information_schema.innodb_trx ;

EXPLAIN SELECT xxxx;

2.没有人操作表,但是添加列或者索引一直锁表,说明有事物没有提交,把事务kill掉
SELECT @@TRANCOUNT;

1.添加列和索引的时候,不要操作表,最好关闭服务
information_schema.innodb_trx 是MySQL中的一个系统表,它提供了关于当前正在进行的InnoDB事务的信息。InnoDB是MySQL中的一个存储引擎,它支持事务处理,提供了诸如ACID兼容、行级锁定和外键等特性。

information_schema.innodb_trx表包含以下列:

trx_id:事务的唯一标识符。
trx_state:事务的状态,例如RUNNING(运行中)、PREPARED(准备中)、COMMITTED(已提交)等。
trx_started:事务开始的时间。
trx_requested_lock_id:事务请求的锁的ID。
trx_wait_started:事务等待开始的时间。
trx_weight:事务的权重。
trx_mysql_thread_id:MySQL线程ID。
trx_query:事务正在执行的查询语句。
trx_operation_state:事务的操作状态。
trx_tables_in_use:当前在事务中使用的表的数量。
trx_wait_sec:事务等待的秒数。
trx_长安_lock_timeout_wait:事务等待超时锁的秒数。
trx_search_tuple_count:在全文中搜索的元组数量。
trx_modified_key_count:被修改的键的数量。
trx_read_only:事务是否为只读事务。

通过查询information_schema.innodb_trx表,可以获得有关当前正在进行的InnoDB事务的详细信息,这对于诊断和优化数据库性能、检测潜在的问题以及调试等都很有帮助。

你可能感兴趣的:(mysql,mysql,数据库)