harumaki.net

インフラ屋の覚書や、ラーメン食べある記とか。

トラブルシュート メモ

wordpressメモ、サイトのURLを変更する際のテーブル操作

投稿日:2014年5月21日

職場でイントラ用に利用しているwordpressサイトを別サーバーに引っ越した際、サイトURLのメンテを忘れてしまい、後から手動で直すことに。

直す必要があるのは”WordPress アドレス”に該当するフィールド”home”とサイトアドレスに該当する”siteurl”と思われるので、この二つを探してみることに。

テーブルの数がデフォルト状態で少なかったので、ちょっと手間をかけて各テーブルのフィールドを色々調べてみたところ
wp_optionsテーブル内のoption_nameフィールドにあるカラムにhomeを発見。

mysql> select * from wp_options where option_name='home';
+-----------+-------------+----------------------------------------+----------+
| option_id | option_name | option_value                           | autoload |
+-----------+-------------+----------------------------------------+----------+
|        37 | home        | http://intranet.example.com/wordpress  | yes      |
+-----------+-------------+----------------------------------------+----------+
1 row in set (0.00 sec)

あわせてsiteurlも調べてみたら、同様に発見。

mysql> select * from wp_options where option_name='siteurl';
+-----------+-------------+----------------------------------------+----------+
| option_id | option_name | option_value                           | autoload |
+-----------+-------------+----------------------------------------+----------+
|         1 | siteurl     | http://intranet.example.com/wordpress  | yes      |
+-----------+-------------+----------------------------------------+----------+
1 row in set (0.00 sec)

option_idの値がなぜかhomeよりsiteurlのほうが若いが、siteurlは1、homeは37で決まっている様子?あるいはバージョンにより変わるのか、暇なときにでも調べてみる。

ひとまずこの二つを直せばいけそうなので、そのままupdateをかましてみる。
update分を実行するときのwhere句での指定は、option_nameでなくoption_idで該当のIDを指定。

修正例としては
http://intranet.example.com/wordpress

http://intranet.example.jp/wordpress
で。

1.homeの設定値を手直し

mysql> update wp_options
    -> set option_value='http://intranet.example.jp/wordpress'
    -> where option_id=37;
Query OK, 1 row affected (0.07 sec)
Rows matched: 1  Changed: 1  Warnings: 0
 
mysql> select * from wp_options where option_id=37;
+-----------+-------------+---------------------------------------+----------+
| option_id | option_name | option_value                          | autoload |
+-----------+-------------+---------------------------------------+----------+
|        37 | home        | http://intranet.example.jp/wordpress  | yes      |
+-----------+-------------+---------------------------------------+----------+
1 row in set (0.00 sec)
		
mysql>

2.siteurlの設定値を手直し

mysql> update wp_options
    -> set option_value='http://intranet.example.jp/wordpress'
    -> where option_id=1;
Query OK, 1 row affected (0.06 sec)
Rows matched: 1  Changed: 1  Warnings: 0
 
mysql> select * from wp_options where option_id=1;
+-----------+-------------+---------------------------------------+----------+
| option_id | option_name | option_value                          | autoload |
+-----------+-------------+---------------------------------------+----------+
|         1 | siteurl     | http://intranet.example.jp/wordpress  | yes      |
+-----------+-------------+---------------------------------------+----------+
1 row in set (0.00 sec)
	
mysql>

と、ここまで直した後で
WordPress Codexに解説があるのを発見…初めからここを見ればよかったorz

-WordPress Codex : Changing The Site URL
http://codex.wordpress.org/Changing_The_Site_URL

とりあえず作業の進め方は問題なかった様子なのと、サイトのリンクの更新も確認できたので、ひとまずOK。

備考

間に合わせとして、wp-config.php内に設定値を固定で指定することもできる様子。

 define('WP_HOME','http://intranet.example.jp');
 define('WP_SITEURL','http://intranet.example.jp');

ただし、この対応だと、いかにも場当たり的な対処になるので、あまりやるべきではないかな、と。
wp-config.phpを見れば判るからこちらのほうが良い、という人もいるかもだけどw

-トラブルシュート, メモ
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


関連記事

no image

[メモ]CMakeインストール

MySQL-5.5.9をインストールしようとしたら、configureが見当たらず CMakeに変更されていたので、ひとまずMySQL用にインストール。 CMakeの公式サイト http://www. …

Linux環境でのgoogle driveクライアントをいろいろと下調べ

これまでずっとdropbox.pyを利用してサーバーの設定ファイル、DBバックアップをDropboxにアップしたりといろいろやってきたが、無料プランでの容量の限界が近づいてきたので、サーバーのバックア …

nagios​/tipやメモ

&topicpath; 1)var/以下のファイル ファイル一覧 nagiosのイベントログの格納場所 2)インシデント、あるいはチケットオプションはあるか? 3)nagiosのフロントエンド …

no image

mysql sshトンネリングでの暗号化接続をさくっと試す

リモートホストのMySQLサーバーへアクセスする際に、クライアント – サーバー間の通信を暗号化する方法をかるく検証。 (MySQLのDBスキーマやテーブルの暗号化ではない) 方法としては …

[メモ]phpmyfaqインストール

phpmyadminのインストール(rpm版) † ごく簡単だけど、備忘録として。 # yum install phpmyadmin RPMでインストールした場合、phpmyadminの …