WordPressのDBをSQLiteからMySQLへ移す
公開日| 2009年11月08日 | 3 のコメントがあります。
WordPressをSQLiteで動作させることは、以前の記事「WordPressをSQLiteで動作させる」、「WordPressでSQLiteを使うときのWindowsでの注意」で書きました。
WordPressをSQLiteで動作させているサイトをMySQLへ移すのは、結構、面倒です。
アクセスが、少ないうちは、SQLiteでも十分です。
ただ、アクセスが増えてくると、SQLiteでは、限界を感じ始めます。
もし、MySQLが使える環境にあるのに、今からSQLiteでWordPressをインストールされようとしているなら、MySQLを使うことをお勧めいたします。
ここでは、筆者のように、とりあえず、WordPressをお試しでSQLiteでインストールした方への対応について記述するものです。
やり方
- まず、SQLiteのDBをバックアップしましょう。
SQLiteのDBは、ほとんどの場合、以下のディレクトリに保存されているはずです。/WordPress/wp-content/database/MyBlog.sqlite
/WordPressは、WordPressのインストール先ディレクトリです。
- SQLiteのDBから、SQLのダンプイメージを出力します。
windowsでは、sqlite3.exeを入手して行うことができます。
sqlite3では、以下のようにコマンド入力することで、SQLのイメージで出力できます。> sqlite3.exe MyBlog.sqlite sqlite> .output wordpress.sql sqlite> .dump
- 出力したSQLのイメージを編集します。
CREATE INDEX は、すべて消去します。
CREATE TABLE modTimes は、消去します。
CREATE TABLE wp_xxxxx は、/WordPress/wp-admin/includes/schema.php のCreate Tableのイメージにすべて合わせます。先頭に、
set character_set_client = utf8;
を追加します。 - 3項で作成したSQLファイルをMySQLで実行します。
以下のvvvvはホスト名(localhostは省略可)、xxxxはユーザ名, yyyyyはパスワード,zzzzはDB名です。% mysql -hvvvv -uxxxx -pyyyyy zzzz mysql > set character_set_client = utf8; mysql > source wordpress.sql
- /WordPress/wp-config.php を編集します。
以下の、xxxxx,yyyyy,zzzzz,aaaaaを埋めてあげます。/** WordPress のデータベース名 */ define('DB_NAME', 'xxxxx'); /** MySQL のユーザー名 */ define('DB_USER', 'yyyyy'); /** MySQL のパスワード */ define('DB_PASSWORD', 'zzzzzzzzz); /** MySQL のホスト名 (ほとんどの場合変更する必要はありません。) */ define('DB_HOST', 'aaaaa'); // MySQLのサーバがWEBサーバと異なる場合は、設定します。以外は、以下のlocalhostでOKです。 //define('DB_HOST', 'localhost'); /** データベーステーブルのキャラクターセット (ほとんどの場合変更する必要はありません。) */ define('DB_CHARSET', 'utf8'); /** データベースの照合順序 (ほとんどの場合変更する必要はありません。) */ define('DB_COLLATE', ''); //define('DB_TYPE', 'sqlite'); //mysql or sqlite` define('DB_TYPE', 'mysql'); //mysql or sqlite`
- /WordPress/wp-content/db.php を削除、あるいは名前を変更します。
これで完了です。
どうですか?結構、面倒ですね。
この記事を読んだ人は、こんな記事も読んでいます。:
コメント
3 Responses to “WordPressのDBをSQLiteからMySQLへ移す”
コメントをどうぞ
2013年03月04日 @ 23:11:49
[…] 解决方法参考 How to convert to MySQL from SQLite with WordPress […]
2014年10月10日 @ 22:38:35
ロリポップのコロリポプランでWordPressを運用しています。他のサーバーに移したいのですが、上記の方法で実施すればいいのでしょうか。
2014年10月11日 @ 01:30:57
かんべえさん
コメントありがとうございます。
SQLiteを使ってらっしゃるのであれば、データベースの移行は可能かと思います。コロリポプランでは、SSH接続などはできないでしょうから、シェルが使えないため、直接コマンドは、難しいかもしれません。その際は、自PCで試してみられることをおすすめします。それから、移行するとスムーズにいけるかと思います。