解决Ubuntu MariaDB锁表问题可按以下步骤操作:
SHOW FULL PROCESSLIST命令查看所有线程,重点关注State列中Waiting for table metadata lock等异常状态的进程。SHOW OPEN TABLES WHERE In_use > 0查看被锁定的表,或查询INFORMATION_SCHEMA.INNODB_TRX、INFORMATION_SCHEMA.INNODB_LOCKS表获取事务锁和锁等待详情。KILL [进程ID]命令终止(需确保不影响业务)。REPEATABLE READ调整为READ COMMITTED)。SET GLOBAL innodb_lock_wait_timeout = [秒数]设置超时时间,避免无限等待。SHOW GLOBAL STATUS LIKE 'Innodb_deadlocks'监控死锁次数,结合日志分析死锁原因。若为MariaDB Galera Cluster集群,出现死锁时可尝试重启节点服务,或通过KILL -9强制终止异常进程(需谨慎操作,可能引发数据不一致)。
注意:操作前建议先备份数据,生产环境需在低峰期进行,避免影响业务。