データベースエンジン InnoDB (イノデービー) やレプリケーションが大幅に改善した MySQL 5.6。Mac OS X (v10.8.3) にある MySQL (v5.5.28) を バージョン 5.6.x にアップグレード。データの移行と環境構築をしてみた。
アップグレードする前に MySQL のデータをバックアップすることをおすすめします。
- 環境設定パネルやコンソールを使って稼働中の MySQL をいったん停止します。
- Download MySQL Community Server から MySQL の最新バージョン、Mac OS X ver. 10.7 (x86, 64-bit), DMG Archive (mysql-5.6.x-osx10.7-x86_64.dmg) をダウンロード。
- mysql-5.6.x-osx10.7-x86_64.dmg をダブルクリックして展開。
- mysql-5.6.x-osx10.7-x86_64.pkg をダブルクリック。Macのセキュリティ設定上、ダイアログボックスが表示される場合は、いったん閉じて mysql-5.6.x-osx10.7-x86_64.pkg を「control + クリック (右クリック)」でコンテキストメニューを表示。「開く」メニューをクリック。ダイアログボックスの「開く」ボタンを押します。
- インストーラーに沿ってインストール。
- 必要に応じて MySQLStartupItem.pkg をダブルクリックしてインストール。
- MySQL.prefPane もダブルクリック 。環境設定パネルを置き換えます。
- インストール完了。
MySQLデータの移行
前バージョンのデータベースのデータを最新バージョンの MySQL へ。ごっそり置き換えます。
ターミナル上で、
$ sudo cp -pfR /usr/local/mysql-5.5.28-osx10.6-x86_64/data /usr/local/mysql-5.6.x-osx10.7-x86_64/
データ移行完了。
MySQL を起動
ターミナル上で
$ sudo /Library/StartupItems/MySQLCOM/MySQLCOM start
または、アップルメニュー「システム環境設定 > MySQL」から「Start MySQL Server」ボタンを押します。stopped から runing に。
DBD::mysql アップグレード
Movable Type が動かず。
install_driver(mysql) failed: Attempt to reload DBD/mysql.pm aborted. Compilation failed in require.
$ cpanm DBD::mysql
で、DBD::mysql をアップグレードすると
Library not loaded: libmysqlclient.18.dylib でエラーに
Error: Can't load '/private/var/root/.cpanm/work/1365857788.17684/DBD-mysql-4.023/blib/arch/auto/DBD/mysql/mysql.bundle' for module DBD::mysql: dlopen(/private/var/root/.cpanm/work/1365857788.17684/DBD-mysql-4.023/blib/arch/auto/DBD/mysql/mysql.bundle, 2): Library not loaded: libmysqlclient.18.dylib
前バージョンの libmysqlclient.18.dylib にシンボリックリンクを張っているのでエラーに。最新バージョンの libmysqlclient.18.dylib にシンボリックリンクを張り替える。
$ rm /usr/lib/libmysqlclient.18.dylib
$ ln -s /usr/local/mysql-5.6.x-osx10.7-x86_64/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib
再度アップグレード。
$ cpanm DBD::mysql
Movable Type が動いた。
MySQL 5.6.x のアップグレード完了。