http://www.openpne.jp/docs/pne-versionup/

http://www.syuhari.jp/blog/archives/1161

major ver up

2.12.x を 2.13.x へアップするのをメジャーバージョンアップと呼ぶらしい。

  1. DB構造の変更が行われる
  2. config.php設定の変更が行われる
  3. プログラムの変更が行われる

ということ、らしいので、まず、

DBのバックアップ

から

phpMyAdmin などのWeb越しのバックアップだと、phpのアップロード限界があって、仮に50Mbにしてあっても、ちょっとしたSNSなんかだと、全然容量がたりまへん。で、やっぱ、サーバにログインしてコマンド打つことになりまふ。

# mysqldump -u root -p -?default-character-set=utf8 PNE > /usr/home/mysql_dump/openpne_2_12_10.sql
Enter password:
#

データベース丸ごとであれば、

# /usr/local/bin/mysqldump -u root -A -p"xxxxxxxx" | bzip2 -c > /home/mysql_dump/dump.bz2
# /usr/local/bin/mysqldump -u root -A -p"xxxxxxxx" > /home/mysql_dump/dump_ALL

2.13.8 を取ってくる

http://downloads.sourceforge.net/openpne/OpenPNE-2.13.8.zip

展開してリネームして

# chown -R www:www OpenPNE-13_8

する

もとの2.12.10のconfig.phpをコピーして持ってくる。(#これだけでも一応起動できる?!)

アップグレードSQLの実行

DB構造変更のためのアップグレードSQLを実行します。 OPENPNE_DIR/setup/sql/upgrade以下のSQLを実行します。

とあるが、これ、2.10 > 2.12 のアップグレード用みたいなので、やめておく。

piano:root {202} % cd /usr/home/openpne/setup/sql/mysql41/upgrade
mysql -u root -p --default-character-set=utf8 PNE < upgrade-2.10to2.12.sql

一旦 PNE DBを削除して、新規インストール時と同様に、さらのPNEデータベースを作り、

/usr/home/openpne_JP/setup/sql/mysql41/install/install-2.13.8-create_tables.sql
/usr/home/openpne_JP/setup/sql/mysql41/install/install-2.13.8-insert_data.sql

してから、待避していたバックアップを書き戻した方がよさそう。

piano:root {236} % mysql -u tfc_sns -p --default-character-set=utf8 TFC_SNS < install-2.13.8-create_tables.sql
Enter password:
piano:root {237} % mysql -u tfc_sns -p --default-character-set=utf8 TFC_SNS < install-2.13.8-insert_data.sql
Enter password:

古い方のwebapp_extを

piano:root {210} % tar cvfzp webapp_ext.tar.gz webapp_ext

して、新しい方へコピーして展開したら、

Fatal error: Smarty error:
[in file:/usr/home/openpne/webapp_ext/modules/pc/templates/fh_diary.tpl line 111]:
[plugin] modifier 'bbcode2html' is not implemented (core.load_plugins.php, line 118)
in /usr/home/openpne/lib/include/Smarty/Smarty.class.php on line 1095

といわれた。


DBのレストア

MySQLデータベースの復旧は、次のようにmysqlコマンドを実行します。 バックアップファイル FILENAME.mysql から DatabaseName へ内容を復元します。

$ mysql --user=root --password=xxxxxxxx PNE < /usr/home/mysql_dump/openpne_2_12_10.sql

phpMyAdmin でPNEを削除した場合は、上記コマンドだけでは、NGのようで、一旦空のPNEようのDBをつくってから、上記コマンドでデータを流し込むと復旧できる風

mysql> drop database PNE
    -> ;
Query OK, 140 rows affected (0.11 sec)

mysql> CREATE DATABASE `PNE` DEFAULT CHARACTER SET utf8;
Query OK, 1 row affected (0.00 sec)

mysql> use PNE
Database changed
mysql> use PNE
Database changed
mysql> grant all privileges on PNE.*
    -> to pne@localhost identified by 'xxxxxxxx';
Query OK, 0 rows affected (0.00 sec) 

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> exit
Bye
piano:root {190} % mysql --user=root --password=xxxxxxxx PNE < /usr/home/mysql_dump/openpne_2_12_10.sql
k222# mysql --user=root --password=xxxxxxxx PNE_TFC < /usr/home/TFC/openpne_2_12_10.sql
ERROR 1153 (08S01) at line 1561: Got a packet bigger than 'max_allowed_packet' bytes

/usr/local/etc/my.cnf

max_allowed_packet = 16M

以下の起動スクリプトで制御できます。 †

# /usr/local/etc/rc.d/mysql-server start ←デーモンを起動します
# /usr/local/etc/rc.d/mysql-server restart ←デーモンを再起動します
# /usr/local/etc/rc.d/mysql-server stop ←デーモンを停止します

トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS