星期四, 12月 27, 2018

WordPress 升級以後無法登入後台

Embed from Getty Images
才想說趕緊要把電影流水帳寫一寫,結果就遇到 WordPress 無法登入後台,查了 php-fpm slow log,發現是 media-deduper plugin 問題,使用 wp-cli 去 deactivate 以後,就可以登入了。
wp plugin deactivate media-deduper –path=’/var/www/wp’ –network
有人回報這問題了:https://wordpress.org/support/topic/504-bad-gateway-3/
但是登入以後,編輯器進不去… 見鬼了,後來發現是 MySQL的 CPU使用率超高,用 show processlist 去看,有 Waiting for table level lock 的情況。
查了以後才知道是因為 table 是 MyISAM 格式的關係。 (可以用這指令看 SELECT TABLE_NAME, ENGINE FROM information_schema.TABLES where TABLE_SCHEMA = ” AND ENGINE IS NOT NULL; ),而主因則是 media-deduper 所導致的。
要改可以用 alter table 來改 engine,可以先用下面這組指令一次產生出所有需要改格式的 alter table 敘述,再用 source 來執行。
 SET @DATABASE_NAME = 'name_of_your_db';
 SELECT  CONCAT('ALTER TABLE ', table_name, ' ENGINE=InnoDB;') AS sql_statements
 FROM    information_schema.tables AS tb
 WHERE   table_schema = @DATABASE_NAME
 AND     ENGINE = 'MyISAM'
 AND     TABLE_TYPE = 'BASE TABLE'
 ORDER BY table_name DESC;
不過修改以後,media-deduper 還是會引起 MySQL 的 CPU 使用率超高,再去 media-deduper 的論壇找,找到這篇:Urgent: New Update Release (of 3 hours ago) broke my Website! 裏面講的,其實跟前面有人回報的問題 (504 bad gateway) 一樣,只是最後作者說有修正了,並且建議先移除 plugin 之後,再重新裝即可。於是我照著做就解決問題了。

沒有留言: