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;」
・テーブル作成の記載を削除する。
※SQLiteとMysqlでは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