Media Cleanerでデータベースのみにデータが残り、そのデータと紐付けされている実際のファイルが無くなっている状態になり、完全に削除できなくなってしまったという状態になった。
色々やってみたが、Media Cleanerに関する全てのデータを削除した方が早いということで、プラグイン本体からデータベースまで完全に削除することにした。
プラグインだけを削除して、新規にインストールしなおしても、データベースが残っているので同じエラーになるわけである。
そこで、まずMedia Cleanerを無効化し、削除し、その後、Media Cleaner関係のデータベースを全て削除するという方法をとった。
その後、Media Cleanerを再インストールすると全ての値が0になり、新規インストールした状態になる。
注意! この作業は必ずバックアップを取って、事故責任でやること。
バックアップをとって必ず作業をするように
面倒でもこれは怠りなくやるように、しくじったら大変なことになるのでしっかり準備をしてから行うこと。
Media Cleanerを完全初期化する手順
以下の方法で完全に最初の何もスキャンしていない状態にすることができる。
今回、削除するのはMedia Cleaner関連だけです。
Media Cleanerを無効化して削除する
プラグインのところでいつものように一旦削除するだけ。
CORESERVERにログインする
ログインしたらデータベースを選択。データベース名とパスワードを確認。
phpMyAdminにログインするデータベース名とパスワードはこのページで見ることができる。
鍵アイコンからphpMyAdminにアクセスする。
phpMyAdminで作業をする
自分の場合、polo-web.comでは接頭辞をpolo_としているので注意。
バックアップ等で別のドメインに復元すると、そのサイトの接頭辞(wp_)になるので注意!
この接頭辞がどうなっているかは wp-config.php の72行目 $table_prefix = ‘polo_’; で確認できる。
以下は私のサイトpolo-web.comなので接頭辞がpolo_となっている前提である。(一般的にはwp_となっている可能性が高い)
以下はpolo-web.comのデータベースを選択している。
その中にMedia Clianer関係のテーブルは以下の7つになる。これを探し出す必要がある。

この7つを探し出し、チェックをして削除する作業をするだけ。
このテーブルが全て削除されたかを確認するSQLコマンド
SHOW TABLES LIKE '%mclean%';以下のように空でしたとなればOK

これでデータベー内のMedia Cleaner関係のテーブルは全て削除されたことになる。
Media Cleanerを再度インストールする
インストールが済んで有効化する。
この有効化で先ほど削除した7つのテーブルが再び表示されるようになる。
このテーブルには当然ながら何も入っていない。
Media Cleanerを起動する
以下のように全て初期化したので、全ての項目が0になる。

これで完全な初期化の完了になる。
後はスキャンを開始してエラーが出ないかを確認する必要がある。
以下は参考までに – SQLによる色んな実行方法もある
以下はAIに聞きながら色々試した結果を記述している。あくまで参考にということで載せている。
mcleanという同じ名前のテーブルを見つけるため以下のSQLを実行。
SHOW TABLES LIKE '%mclean%';結果:7つのテーブルが見つかった。ここでは接頭辞がwp_でなくpolo_になっている。
WordPressの接頭辞で最初に設定したものがここに表示されている。

これがMedia Clianer関係の全てのテーブルである。これを削除すれば初期化することができる。
その後、これらを以下のSQLで削除
今回の検証サイトを完全にリセットするのであれば、この7つを削除するSQL。
DROP TABLE IF EXISTS
polo_mclean_cache,
polo_mclean_duplicates,
polo_mclean_operations,
polo_mclean_refs,
polo_mclean_runs,
polo_mclean_scan,
polo_mclean_work;
削除後に全ての、mcleanのテーブルが削除されたかを確認するため以下を実行。
SHOW TABLES LIKE '%mclean%';
上のように、何も表示されなければ削除が成功したことになる。
MAMPでスキャンをするとエラーになる可能性がある
これは日本語のファイルがあるとMAMPではエラーになるようだ、全て日本語にすると問題ないのかもしれないが、日本語のところでエラーがログファイルに出てくる。
polo_options(wpmc_options)について
もし、初期化で問題が出た場合は、これも必要なのかな?と思うが…
以下は多分、扱う必要ないと思うが、AIに聞いた時、これが出てきたので参考までに。
このwpmcもなんだかMedia Cleanerと関係ありそうな名前ではある。
次にpolo_optionsの存在を確認。
SELECT * FROM polo_options;更にその中にあるwpmc_という接頭辞を探すには
SELECT * FROM wp_options WHERE option_name LIKE ‘wpmc_%’;
上で見つかったwp_optionsの中のwpmc_を手作業で探すと以下のところにある。
20行目:wpmc_rating_date
24行目:wpmc_schema_version
wpmc_trash_secret
wpmc_active_run_id
25行目:wpmc_options
そしてpolo_optionsのwpmc_(Media Cleanerの設定)も削除。
DELETE FROM polo_options
WHERE option_name LIKE 'wpmc_%';
この削除が実行されたかを以下で確認。
SELECT option_name
FROM polo_options
WHERE option_name LIKE 'wpmc_%';
0件なら削除が成功です。
これでMedia Cleanerのスキャン結果や設定を一掃できる。
その状態でMedia Cleanerを新規インストールすることができる。
Media Cleanerを無効化して削除。
ChatGPTに聞いてやった手順
それまで、色々テストしてもらったが、あまりにも時間がかかるので、「Media Cleaner」自体を完全にデータベースの内容から削除して新規にインストールし直す手順でやってもらった。
ここからphpMyAdminのSQLを実行する
MAMPのphpMyAdminで、Media CleanerのDBを選択した状態で、まずこれをSQLで実行。
mcleanという名前のテーブルを見つける。
SHOW TABLES LIKE '%mclean%';結果:7つのテーブルが見つかった。

上の画像でその通りになっている。
wp_mclean_cache
wp_mclean_duplicates
wp_mclean_operations
wp_mclean_refs
wp_mclean_runs
wp_mclean_scan
wp_mclean_work
その後、これらを削除
今回の検証サイトを完全にリセットするのであれば、この6つを削除するSQL。
DROP TABLE IF EXISTS
wp_mclean_cache,
wp_mclean_duplicates,
wp_mclean_operations,
wp_mclean_refs,
wp_mclean_runs,
wp_mclean_scan,
wp_mclean_work;
でOKです。
そしてMedia Cleanerの設定も削除します。
しかしwp_optionsの中に’wpmc_%’なるものは無いので削除不要かも、とりあえず一応削除してみる。
DELETE FROM wp_options
WHERE option_name LIKE 'wpmc_%';これでMedia Cleanerのスキャン結果や設定を一掃できます。
wp_mcleanを一つずつ削除する場合はこれで
DELETE FROM wp_mclean_scan WHERE deleted = 1;個別にwp_mclean_scanだけを一つ削除する場合はこれで。
完全初期化後の確認
削除後に全ての、mcleanのテーブルを表示する場合はこれ。
SHOW TABLES LIKE '%mclean%';を実行します。
何も表示されなければOKです。
また、
SELECT option_name
FROM wp_options
WHERE option_name LIKE 'wpmc_%';を実行して、0件なら設定も消えています。
その状態でMedia Cleanerを新規インストールします。
重要:WordPress本体のデータは触りません
今回のSQLで削除するのはMedia Cleaner関連だけです。
以下は削除しません。
wp_postswp_postmeta- 通常の
wp_options - WordPressユーザー
- 投稿・固定ページ
- Media Libraryのattachment
wp-content/uploadsの通常画像
したがって、バックアップサイトのWordPress自体は維持できます。
これからが実際の本番環境になるので、これを注視!
まずは mcleanという名前のテーブルが存在することを確認する。
SHOW TABLES LIKE '%mclean%'; 以下がその結果、7つのテーブルが存在することになる。
現在確認できたMedia Cleaner関連テーブルは7個。
wp_mclean_cache
wp_mclean_duplicates
wp_mclean_operations
wp_mclean_refs
wp_mclean_runs
wp_mclean_scan
wp_mclean_work
この7つのテーブルを全部削除する。以下のSQLを実行する。
① Media Cleaner関連テーブルを完全削除
phpMyAdminで、次をそのまま実行してください。
DROP TABLE IF EXISTS
wp_mclean_cache,
wp_mclean_duplicates,
wp_mclean_operations,
wp_mclean_refs,
wp_mclean_runs,
wp_mclean_scan,
wp_mclean_work;
SQLで返り値が空でした(行数0)。と出るとOK。
② mcleanのテーブルが削除できたか確認
まずテーブルを確認します。テーブルを表示するSQL。
SHOW TABLES LIKE '%mclean%';結果:

何も表示されなければOKです。
これでMedia Cleanerの
- Scan結果
- Trash情報
- References
- Runs
- Work
- Operations
- Duplicates
- Cache
をまとめて削除します。
③ Media Cleanerの設定も削除
続けてこちらです。
DELETE FROM wp_options
WHERE option_name LIKE 'wpmc_%';5行変更したことになる?

前回確認した
wpmc_active_run_id
wpmc_schema_versionなどもここで消えます。
次に、
SELECT option_name, option_value
FROM wp_options
WHERE option_name LIKE 'wpmc_%';結果:何も表示されない。

これも0件になれば、Media CleanerのDB設定もなくなっています。
ここで上の2つを実行した後、確認のために以下を実行。
SHOW TABLES LIKE '%mclean%';結果、何も表示されないので完全に削除されていることになる。

と
SELECT option_name
FROM wp_options
WHERE option_name LIKE 'wpmc_%';結果、何も表示されないので完全に削除されていることになる。

結果を確認、何も残っていない。
mcleanのテーブルがあるか確認するSQL
SHOW TABLES LIKE '%mclean%';wpmc_options を削除するSQL
DELETE FROM wp_options
WHERE option_name = 'wpmc_options';削除を確認するSQL
SELECT option_name, option_value
FROM wp_options
WHERE option_name LIKE 'wpmc_%';現在の状況
| 項目 | 状態 |
|---|---|
wp_mclean_cache | 削除済み |
wp_mclean_duplicates | 削除済み |
wp_mclean_operations | 削除済み |
wp_mclean_refs | 削除済み |
wp_mclean_runs | 削除済み |
wp_mclean_scan | 削除済み |
wp_mclean_work | 削除済み |
wpmc_options | まだ残っている → 今から削除 |
wpmc_optionsが特別のテーブルになる。wp-optionの中には他にもあるが、削除するのは、このwpmc_optionsだけである。他は削除しないこと。
wpmc_optionsnの削除するSQL
DELETE FROM wp_options
WHERE option_name = 'wpmc_options';wp_optionsを表示するSQL
polo-web.comではこれが表示されない。
SELECT * FROM wp_options;