WordPressアドレスとサイトアドレスをMySQLで直接編集する方法

レンタルサーバをGCPに移行した際にハマったので忘れないうちにメモしておく。なお、先に方法を書いて、何でこんなことをしたかは後述する。

MySQLでの編集方法

MySQLにログインする。パスワードは事前にメモっておく。

$ mysql -u root -p

WordPressのDBにログインする。(DB名は適宜変更)

mysql> use wordpress

WordPressアドレス(home)とサイトアドレス(siteurl)を確認する。

mysql> select * from wp_options where option_name = 'home';
mysql> select * from wp_options where option_name = 'siteurl';

もし想定と違ったら以下のコマンドで変更する。(option_valueは適宜変更)

mysql> update wp_options set option_value = 'https://yusukesakai.com' where option_name = 'home';
mysql> update wp_options set option_value = 'https://yusukesakai.com' where option_name = 'siteurl';

おわり。

何でこんなことした?

WordPressをGCPのMarketplaceからインストールしたら、後から設定した外部アドレスとパッケージ内のアドレスが不一致となって管理画面にログインできなくなった。

というか最初はアドレス不一致にも気付かなかった。GCP無料枠で低スペックだからレスポンスの悪さはある程度覚悟していたけど、画像の読み込みとか全部タイムアウトになって表示されないしどうなってるんだと思ってソース見たら、IPアドレスが全部違うやつ反映されてて椅子から転げ落ちた。

上記方法で変更したら無事表示された。めでたしめでたし。

余談

この方法の場合、記事内のリンクまでは変更されない。要は、サイトのIPアドレスやドメインも含む形式で記事に画像やリンクを挿入していると、今回の方法では変更されないということ。
その場合は以下のサイトの「解決策2」を実施すると良い。

404 Not Found

ちなみにうちは記事が少なかったので力技で手修正した。だせえ…。

タイトルとURLをコピーしました