2011 年 8 月 のアーカイブ

[MySQL] MySQL5.0 から MySQL5.5へのアップグレード方法

2011 年 8 月 14 日 日曜日

MySQL5.0からMySQL5.5へアップグレードするには、一旦、MySQL5.1にアップグレードする必要があります。
CentOS 5.4のLinux環境でアップグレードをしてみました。

環境

CentOS 5.4 (i386)

基本的な流れ

  1. MySQL 5.1 をインストール
  2. mysql_upgrade コマンドでアップグレード
  3. MySQL 5.5 をインストール
  4. mysql_upgrade コマンドでアップグレード

RPMのダウンロード

あらかじめ、RPMをMySQLのサイトからダウンロードしておきます。
今回はCentOSなのでRedhat用のものをダウンロードしました。

  • MySQL 5.1
    1. MySQL-client-community-5.1.58-1.rhel5.i386.rpm
    2. MySQL-server-community-5.1.58-1.rhel5.i386.rpm
    3. MySQL-shared-compat-5.1.58-1.rhel5.i386.rpm
  • MySQL 5.5
    1. MySQL-client-5.5.15-1.rhel5.i386.rpm
    2. MySQL-server-5.5.15-1.rhel5.i386.rpm
    3. MySQL-shared-5.5.15-1.rhel5.i386.rpm
    4. MySQL-shared-compat-5.5.15-1.rhel5.i386.rpm

バックアップ

作業前に念のためデータのバックアップを取得しておきます。
今回は、MySQLを止めて、データファイルを丸ごとコピーしておきました。

$ sudo /etc/init.d/mysqld stop
$ sudo cp -R /var/lib/mysql /var/lib/mysql.backup

5.0 から 5.1へのアップグレード

CentOS付属のRPMとMySQLから配布されているRPMではコンフリクトしてしまうので、一旦CentOS付属のRPMを削除します。
MySQL依存しているRPMもあわせて、削除する必要があります。

# mysqlに依存するパッケージを一旦削除
$ sudo rpm -e mysql mysql-server php-mysql perl-DBD-MySQL

# MySQL5.1をインストール
$ sudo rpm -ivh MySQL-client-community-5.1.58-1.rhel5.i386.rpm MySQL-server-community-5.1.58-1.rhel5.i386.rpm MySQL-shared-compat-5.1.58-1.rhel5.i386.rpm

# my.cnf がRPMを削除されたときに、リネームされてしまっているので、戻しておく
$ sudo mv /etc/my.cnf.rpmsave /etc/my.cnf

MySQLを起動し、mysql_upgradeでアップグレードします。
エラーが出ますが問題ありません。エラーの出た箇所を自動で修復して、5.1へアップグレードしてくれます。

$ sudo /etc/init.d/mysql start

$ sudo mysql_upgrade
Looking for ‘mysql’ as: mysql
Looking for ‘mysqlcheck’ as: mysqlcheck
Running ‘mysqlcheck with default connection arguments
Running ‘mysqlcheck with default connection arguments
group_coupon.area_coupons OK
group_coupon.coupon_sites OK
group_coupon.coupons
error : Table upgrade required. Please do “REPAIR TABLE `coupons`” or dump/reload to fix it!
majide.wp_comments
<省略>
OK

一旦削除した、RPMを再度インストールして、5.1へのアップグレードは完了です。

$ yum install php-mysql perl-DBD-MySQL

MySQL5.1からMySQL5.5へのアップグレード

5.0から5.1と同じように、MySQLをインストール後、mysql_upgradeを実行します。

$ /etc/init.d/mysql stop

$ rpm -Uvh MySQL-client-5.5.15-1.rhel5.i386.rpm MySQL-server-5.5.15-1.rhel5.i386.rpm MySQL-shared-5.5.15-1.rhel5.i386.rpm MySQL-shared-compat-5.5.15-1.rhel5.i386.rpm

$ /etc/init.d/mysql start

$ mysql_upgrade

USB給電の小型ルータでREGZAをWiFi対応にした

2011 年 8 月 13 日 土曜日

PLANEXのMZK-MF300Nを使ってテレビをネットに繋げてみた。
MZK-MF300Nはルータとしてもコンバータとしても使える製品で、WiFiを有線に変換することができる。
REGZAに限らずだいたいのテレビはWiFiに対応してないので、コンバーターをはさんで有線にする必要がある。

この製品のいいところは、USBで給電できるところ。
REGZAの外付けHDD用のUSBポートから給電すれば、見た目にスッキリと配線できる。
HDD用のUSBポートに録画用のHDD意外を繋げて給電されるか不安だったが、結果として問題なかった。

設置

テレビの裏側に両面テープで貼り付けておいた

アクトビラで動画を見てみたが、コマ落ちしたりせず、速度も問題なし。

[Amazon.co.jp限定] PLANEX 手のひらサイズ 300Mbps ハイパワー無線LANルータ/アクセスポイント/コンバータ FFP-PKR01 [フラストレーションフリーパッケージ(FFP)]
PLANEX 手のひらサイズ 300Mbps
ハイパワー無線LANルータ
¥2,480

PLANEX 無線LANルータ/アクセスポイント/コンバータ「MZK-MF300N」「FFP-PKR01」専用 USB給電ケーブル SSOP-USB02

PLANEX 「MZK-MF300N」「FFP-PKR01」専用
USB給電ケーブル
¥861

あわせて買いたい

TOSHIBA LED REGZA 22V型 地上・BS・110度CSデジタルハイビジョン液晶テレビ ブラック 22A2(K)

TOSHIBA LED REGZA 22V型

PHP OCI8 Oracle Instant Clientを使ったインストール

2011 年 8 月 6 日 土曜日

PHPでOracleに接続するには、OCI8モジュールを有効にする必要があります。
以下、Instant Clientを使った場合のPHPのビルド方法。

Instant Client のインストール

Oracleのページから、
「Instant Client Package – Basic」 および「Instant Client Package – SDK」をダウンロードしてあらかじめインストールしておきます。
/usr/lib/oracle/11.2/client/以下にライブラリとツール類が、/usr/include/oracle/11.2/client/ にヘッダ類がインストールされます。

PHPのコンパイルとインストール

–with-oci8、–with-pdo-oci を以下のように設定します。
–with-pdo-ociのほうは、Oracle Clientのバージョン(11.2)を指定する必要があります。

./configure --with-oci8=instantclient,/usr/lib/oracle/11.2/client/lib  --with-pdo-oci=instantclient,/usr,11.2 \

LD_LIBRARY_PATHにInstant Clientのパスを指定して、makeを実行します。

$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/oracle/11.2/client/lib/
$ make
$ make install

Amazon RDS Oracle のライセンス価格とプラン

2011 年 8 月 4 日 木曜日

2011年5月から、Amazon Web Service の RDS(Relational Database Service)でMySQLに加えてOracleが
選択できるようになりました。

3つのエディションが利用できます。

RDSでは、Standard Editoin Oneのみですが、ライセンス込みのプランが用意されています。
Oracleライセンスは非常に高価ですので、ちょっと個人でOracleとMySQLを比較してみたいといった場合にピッタリですね。

1時間あたりの利用料金(2011/08現在、Asia Pasific Tokyoの価格)

- ライセンス込み ライセンスは自分で別途購入
Edition Standard
Edition
One
Standard
Edition
Enterprise
Edition
Standard
Edition
One
Standard
Edition
Enterprise
Edition
Small $0.18 なし なし $0.13
Large $0.72 なし なし $0.52
Extra Large $0.99 なし なし $0.78
Double Extra Large $1.98 なし なし $1.56
Quadruple Extra Large $3.96 なし なし $3.11

2.8年以上動かすなら、ライセンスを自前購入したほうがお得

Standard Oneのライセンス費用は1ユーザーあたり19,600円です。
最小5ユーザからなので、98,000円が最低のライセンス費用になります。

たとえば、Smallインスタンスの場合、ライセンスあり・なしの価格差は $0.05(約4円、1$=80円換算)です。
198,000 / 4 / 24 = 1020日 で、3年弱、動かすなら、ライセンスを自分で購入したほうがお得です(5ユーザなら)。

ただし、Largeインスタンスになると、急に価格差が開き、半年強で元が取れるようになってしまいます。
このあたりに、Oracle社の商売のうまさを感じますね・・・。

インスタンスサイズ ライセンスあり・なしプラン価格差 元を取るまでの年数
Small $0.05 2.79年
Large $0.2 0.69年
Extra Large $0.21 0.66年
Double Extra Large $0.42 0.33年
Quadruple Extra Large $0.85 0.16年

Standard One Editionと Standard Editionの違い

機能的には同じようです(参考)。
One Editionだと、CPU数(ソケット)に制限があるようですが、Amazon RDSではそのへんは関係なさそうです。

無料のOracleもあるよ

RDSにはありませんが、Oracle Database 10g Express Editionは無料で利用できます。
その代わり、データが4GB/割り当てメモリが1GBまでの制限がつきます。

http://www.oracle.com/technetwork/database/express-edition/overview/index.html

オススメ書籍

Bronze Oracle Database 11g SQL基礎I編(試験番号:1Z0-051) (DVD付) (オラクルマスター教科書)

Bronze Oracle Database 11g SQL基礎I編
Amazon Web Services ガイドブック クラウドでWebサービスを作ろう!
Amazon Web Services ガイドブック
よくわかるAmazonEC2/S3入門 ―AmazonWebServicesクラウド活用と実践 (Software Design plusシリーズ)

よくわかるAmazonEC2/S3入門