#contents http://www.openpne.jp/docs/pne-versionup/ http://www.syuhari.jp/blog/archives/1161 *major ver up [#w56a33b3] 2.12.x を 2.13.x へアップするのをメジャーバージョンアップと呼ぶらしい。 +DB構造の変更が行われる +config.php設定の変更が行われる +プログラムの変更が行われる ということ、らしいので、まず、 **DBのバックアップ [#db7f25e0] から 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 を取ってくる [#o34ea49d] http://downloads.sourceforge.net/openpne/OpenPNE-2.13.8.zip 展開してリネームして # chown -R www:www OpenPNE-13_8 する もとの2.12.10のconfig.phpをコピーして持ってくる。(#これだけでも一応起動できる?!) **アップグレードSQLの実行 [#d0ed07b3] 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を [#q1dc343b] 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のレストア [#k658c8a8] 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 をする [#mb1c9479] /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 piano:root {325} % mysql --user=tfc_sns --password=xxxxxxxx TFC_SNS <update01-for2.13.2-alter-c_review_comment-add-column-u_datetime.sql piano:root {326} % mysql --user=tfc_sns --password=xxxxxxxx TFC_SNS < update02-for2.13.3-alter-c_bookmark-change-column-r_datetime.sql piano:root {327} % mysql --user=tfc_sns --password=xxxxxxxx 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=xxxxxxxx TFC_SNS < update04-for2.13.4-alter-c_commu_category-add-column-create_flag.sql piano:root {329} % mysql --user=tfc_sns --password=xxxxxxxx TFC_SNS < update05-for2.13.6-alter-c_commu_category-change-column-is_create_commu.sql piano:root {330} % mysql --user=tfc_sns --password=xxxxxxxx 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=xxxxxxxx TFC_SNS < update07-for2.13.7-alter-c_friend-add-column-is_display_friend_home.sql piano:root {332} % mysql --user=tfc_sns --password=xxxxxxxx TFC_SNS < update08-for2.13.7-alter-c_diary-add-column-is_comment.sql piano:root {333} % mysql --user=tfc_sns --password=xxxxxxxx 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=xxxxxxxx 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 {335} % mysql --user=tfc_sns --password=xxxxxxxx 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 ←デーモンを停止します