Magento 2(可能来自cron或计划的备份)似乎每天都处于锁定状态,并且不允许管理员用户在管理面板上登录。此问题的原因是MySQL元数据锁定。 MySQL正在运行此查询。
RENAME TABLE catalog_product_flat_1 TO catalog_product_flat_1_drop_indexer,
catalog_product_flat_1_tmp_indexer TO catalog_product_flat_1
到目前为止,已花费了23407秒(6.5小时)来完成查询。到目前为止,只有在任务被终止的情况下,每天才允许admin登录。该表中有16198条记录,似乎数据为43 MB。我该如何解决这个问题,而不必每次运行查询都将其杀死?
答案 0 :(得分:1)
可能的原因是某些 other 连接有意或无意对这些表的 做了任何。
查找尚未提交的事务。寻找ALTERs
。等等
要检查的另一件事是SHOW VARIABLES LIKE '%timeout%';
查找大于23407的任何值。在我的服务器上,我看到
| interactive_timeout | 28800 |
| wait_timeout | 28800 |
我在上面提到了这两点。您可以降低它们以查看是否有助于RENAME
下次。 (更改这些设置只有在重新登录后才能生效。)
| lock_wait_timeout | 31536000 |
(与innodb_lock_wait_timeout
不同);不知道,但是很可疑。
| rpl_stop_slave_timeout | 31536000 |
用于复制。