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:
#

ここでエラーがでるDBがあった。

blackcube# mysqldump -u root -p --default-character-set=utf8 PNE2 > /usr/home/mysql_dump/PNE2.sql
Enter password:
mysqldump: Error 2020: Got packet bigger than 'max_allowed_packet' bytes when dumping table `c_image` at row: 1012

my.cnf で'max_allowed_packet' = 120M などとしてもダメ。そもそもココは16M以上にしても意味がないらしい

実際引っかかっていたデータをあたってみると、16.7MiBのJpegファイルでした。

blackcube# mysqldump -u root -p --default-character-set=utf8 --max_allowed_packet=1G PNE2 > /usr/home/mysql_dump/PNE2.sql
Enter password:
blackcube#

で、OK

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

# /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

openpne_DIR/setup/sql/mysql41/update をする

/usr/home/tfc/public_html/openpne/setup/sql/mysql41/updateにあるsqlを実行する

piano:root {322} % cd /usr/home/tfc/public_html/openpne/setup/sql/mysql41/update
piano:root {324} % ll
total 22
-rw-r--r--  1 www  www  154 Aug 14  2008 update01-for2.13.2-alter-c_review_comment-add-column-u_datetime.sql
-rw-r--r--  1 www  www  101 Sep 22  2008 update02-for2.13.3-alter-c_bookmark-change-column-r_datetime.sql
-rw-r--r--  1 www  www  157 Oct 23  2008 update03-for2.13.4-alter-c_member_secure-and-c_admin_user-add-column-sess_id.sql
-rw-r--r--  1 www  www  128 Oct 21  2008 update04-for2.13.4-alter-c_commu_category-add-column-create_flag.sql
-rw-r--r--  1 www  www  102 Feb 23 11:01 update05-for2.13.6-alter-c_commu_category-change-column-is_create_commu.sql
-rw-r--r--  1 www  www  194 Apr 10 14:05 update06-for2.13.7-alter-c_commu_member-add-column-is_display_topic_home.sql
-rw-r--r--  1 www  www  194 Apr 14 11:12 update07-for2.13.7-alter-c_friend-add-column-is_display_friend_home.sql
-rw-r--r--  1 www  www   79 Mar 12 16:27 update08-for2.13.7-alter-c_diary-add-column-is_comment.sql
-rw-r--r--  1 www  www   90 Apr 28 15:04 update09-for2.13.8-alter-c_member_pre-add-column-is_sns_entry_confirm.sql
-rw-r--r--  1 www  www  585 Apr 30 17:49 update10-for2.13.8-create-c_image_size.sql
-rw-r--r--  1 www  www   75 Apr 30 17:49 update11-for2.13.8-alter-c_tmp_image-add-column-filesize.sql
piano:root {325} % mysql --user=tfc_sns --password=kuji92 TFC_SNS <update01-for2.13.2-alter-c_review_comment-add-column-u_datetime.sql
piano:root {326} % mysql --user=tfc_sns --password=kuji92 TFC_SNS < update02-for2.13.3-alter-c_bookmark-change-column-r_datetime.sql
piano:root {327} % mysql --user=tfc_sns --password=kuji92 TFC_SNS < update03-for2.13.4-alter-c_member_secure-and-c_admin_user-add-column-sess_id.sql
piano:root {328} % mysql --user=tfc_sns --password=kuji92 TFC_SNS < update04-for2.13.4-alter-c_commu_category-add-column-create_flag.sql
piano:root {329} % mysql --user=tfc_sns --password=kuji92 TFC_SNS < update05-for2.13.6-alter-c_commu_category-change-column-is_create_commu.sql
piano:root {330} % mysql --user=tfc_sns --password=kuji92 TFC_SNS < update06-for2.13.7-alter-c_commu_member-add-column-is_display_topic_home.sql
piano:root {331} % mysql --user=tfc_sns --password=kuji92 TFC_SNS < update07-for2.13.7-alter-c_friend-add-column-is_display_friend_home.sql
piano:root {332} % mysql --user=tfc_sns --password=kuji92 TFC_SNS < update08-for2.13.7-alter-c_diary-add-column-is_comment.sql
piano:root {333} % mysql --user=tfc_sns --password=kuji92 TFC_SNS < update09-for2.13.8-alter-c_member_pre-add-column-is_sns_entry_confirm.sql
piano:root {334} % mysql --user=tfc_sns --password=kuji92 TFC_SNS < update10-for2.13.8-create-c_image_size.sql
ERROR 1050 (42S01) at line 1: Table 'c_image_size' already exists
piano:root {335} % mysql --user=tfc_sns --password=kuji92 TFC_SNS < update11-for2.13.8-alter-c_tmp_image-add-column-filesize.sql
piano:root {336} %

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

# /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