SQliteで動かしていることをてっきり忘れていたWordpressを高速にしようと思いたち、DB Cache Reloaded Fixを入れたらデータベース接続確立エラー。何もできなくなりました。
バックアップもとってません。とれません。
パスがおかしいかも?という情報だったので、configをいじってパスを確認しようとすると何も設定していませんでした。そう、SQliteだから。
まずFTPからwp-adminとか、全ファイルをローカルへ取り出しました。
「MyBlog.sqlite」があればなんとかなるみたいなので、
/WordPress/wp-content/database/MyBlog.sqlite を大切に取り出しました。
FTPから普通に取り出せました。
http://www.off-soft.net/blog/wordpress/mysql_sqlite.html を参考にしました。
sqlite3.exe とかいうのを入手する必要があるそうです。
SQLite 3.7.3 とかいうのを入手するとsqlite3.exe とかいうのを入手できるそうです。
ここからそれをダウンロードできるそうです。でも、ありません。
SQLite Download Pagehttp://www.sqlite.org/download.html結論から言うとこのURLを直接叩くとDLできるようでした。
http://www.sqlite.org/sqlite-3_7_3.ziphttp://www.sqlite.org/sqlitedll-3_7_3.zip超参考になりました:
http://d.hatena.ne.jp/edvakf/20101208/1291826333落としてきたファイルをまとめたりCドライブ直下に置いたりします。
参考:
Windows で SQLite 3 コマンドライン・インタフェースをダウンロードしテスト実行 (Windows で実行)
http://www.kkaneko.com/rinkou/sqlite/sqliteinstall.htmlCドライブ直下に「SQLite」フォルダをつくる
sqlite3.def、sqlite3.dll、sqlite3.exe、MyBlog.sqliteの4つのファイルをまとめる
ファイル名を指定して実行
「cmd」を入力してコマンドラインを開く
cd C:\SQLite エンター
sqlite3.exe MyBlog.sqlite エンター
sqlite> と出るので 「.output wordpress.sql」 エンター
sqlite> と出るので 「.dump」 エンター
「SQLite」フォルダに「wordpress.sql」ファイルができる
参考:
WordPressのDBをSQLiteからMySQLへ移す
http://www.off-soft.net/blog/wordpress/mysql_sqlite.html新しくWordpress一式をDLしてくる
SQLiteの頃のファイルを全部抹消。
新しいファイル一式をアップ。
MySQL設定一式を終える。
バックアップしておいたwp-content/uploads/のファイルとかをアップしておく。
テーマ類にこだわりはなかったので全てまっさらにして進む。
この時点でHello worldの記事が表示されている。
さくらなので、さくらのphpmyadminを開く
https://secure.sakura.ad.jp/phpmyadmin2/
任意のデータベースを選んで sqlファイルをインポート
先頭に set character_set_client = utf8; を追加する
PRAGMA foreign_keys=OFF; を削除する
INSERT時のテーブルを囲っている"を削除する
BEGIN TRANSACTION を START TRANSACTION に書き換える
CREATE INDEX は、すべて消去する
CREATE TABLE modTimes は、消去する
CREATE TABLE wp_xxxxx は、/WordPress/wp-admin/includes/schema.php のCreate Tableのイメージにすべて合わせる
つまり、こういうやつの太字部分を、schema.phpを見て修正するということ。
CREATE TABLE wp_terms
term_id
integer NOT NULL PRIMARY KEY AUTOINCREMENT ,
name
text NOT NULL default '',
slug
text NOT NULL default '',
term_group
integer NOT NULL default 0;
INSERT INTO wp_terms VALUES(1,'未分類','%e6%9c%aa%e5%88%86%e9%a1%9e',0);
こういう感じにしていく。
CREATE TABLE wp_terms (
term_id bigint(20) unsigned NOT NULL PRIMARY KEY auto_increment,
name varchar(200) NOT NULL default '',
slug varchar(200) NOT NULL default '',
term_group bigint(10) NOT NULL default 0);
INSERT INTO wp_terms VALUES(1,'未分類','%e6%9c%aa%e5%88%86%e9%a1%9e',0);
CREATE TABLE wp_commentmeta
CREATE TABLE wp_links
CREATE TABLE wp_posts とかの、CREATE TABLE wp_xxxxx の全てを。
「wp_postsはもう既にある」みたいな文章が出ていたら「wp_posts」は流し込み成功。
大本のwordpress.sqlはバックアップをとりつつ、流し込み用のwordpress.sqlを作り、CREATE TABLE wp_termsのブロックは消せばいい。コツコツやる。かなり地道な作業。
エラーが出てもphpmyadminのレコード数が増えていて、中身を見てみてなんとなくそれっぽいレコードだったらOK。
CREATE TABLE wp_optionsまで辿り着いたら、今回のラスボスである腫瘍を摘出する。
i:2;s:43:"db-cache-reloaded-fix/db-cache-reloaded.php"; を消して流し込む。摘出せずにバンバン流し込んでいると、おなじみの「データベース接続確立エラー」が表示される。
他、各種エラーなどと確認しながら流し込み終えるとサイト・記事が以前のように表示される。
お疲れ様でした。疲れたー
参考:
http://ravalter.blogspot.jp/2013/11/sqlite-mysql.htmlhttp://www.off-soft.net/blog/wordpress/mysql_sqlite.html