KaresansuiでDBを「sqlite」から「mysql」に変更する

Karesansuiのインストール時に「SQLite」を選択したが、今後を考えて「MySQL」に変更する。

■前提
 karesansuiのインストールSQLiteを設定している。

MySQLドライバの入手とインストール
 自分の環境に合ったパッケージをダウンロード
 ※ベーシック認証がかかっているのでID/PASSWORDをここで確認する。
 # wget --http-user=ID --http-passwd=PASSWORD http://updates.karesansui-project.info/karesansui/2.0/RPMS.extras/x86_64/hde-python-MySQLdb-1.2.3-1.x86_64.rpm
 パッケージのインストール
 # rpm -ivh hde-python-MySQLdb-1.2.3-1.x86_64.rpm

Mysqlの設定
 MySQLに接続
 # mysql -u root -p
 
 データベース/ユーザ作成
 mysql > create database karesansui DEFAULT CHARACTER SET utf8;
 mysql > create database pysilhouette DEFAULT CHARACTER SET utf8;
 mysql > grant all on karesansui.* to karesansui@localhost IDENTIFIED BY 'hogehoge';
 mysql > grant all on pysilhouette.* to karesansui@localhost;
 mysql > grant all on karesansui.* to karesansui@'%' IDENTIFIED BY 'hogehoge';
 mysql > grant all on pysilhouette.* to karesansui@'%';

SQLiteから既存データの書き出し
 ※DBの場所などを忘れたら設定ファイルを確認する。
  Karesansui:/etc/opt/karesansui/application.conf
  pysilhouette:/etc/opt/pysilhouette/silhouette.conf

 KaresansuiDBのダンプ
 # sqlite3 /var/opt/karesansui/karesansui.db
 sqlite> .output karesansui.dump
 sqlite> .dump

 pysilhouetteDBのダンプ
 # sqlite3 /var/opt/pysilhouette/pysilhouette.db
 sqlite> .output pysilhouette.dump
 sqlite> .dump
 
■ダンプデータの修正
 ダンプしたデータの修正(共通)
  ・ダンプしたファイルの
   1行目「BEGIN TRANSACTION;」 ⇒ 「START TRANSACTION;」
  ・テーブル作成の記載を削除する。
   ※SQLiteMysqlではautoincrement項目の作成方法が違うので

■テーブルの作成
 ここにテーブル作成用のSQL文があるのでコピペして作成する。

■データの復元
 # mysql -u karesansui -p karesansui < karesansui.dump
 # mysql -u karesansui -p pysilhouette < pysilhouette.dump

■Karesansui設定ファイルの修正
 karesansui設定ファイルの修正
 # vi /etc/opt/karesansui/application.conf

database.bind=sqlite:////var/opt/karesansui/karesansui.db
 ↓
database.bind=mysql://karesansui:hogehoge@localhost/karesansui?charset=utf8 

 pysilhouette設定ファイルの修正
 # vi /etc/opt/pysilhouette/silhouette.conf

database.url=sqlite:////var/opt/pysilhouette/pysilhouette.db
 ↓
database.url=mysql://karesansui:hogehoge@localhost/pysilhouette ?charset=utf8 

■再起動と後始末
 lighthttpdサービスの再起動 
 # /etc/init.d/hde-lighttpd restart

 不要なファイルの削除
  ・mysqlドライバのrpmファイル
  ・ダンプファイル
   などなど