ServBay で MySQL/MariaDB をアップグレード・移行する方法
概要
ローカル開発中、プロジェクト要件や最新の機能・セキュリティアップデートを活用するために、ServBay 環境で MySQL または MariaDB のデフォルトバージョンを切り替えたい場合があります。本ドキュメントは、データバックアップやリストアといった重要な工程を含め、安全かつ分かりやすい手順を提供します。
主な利用シーン
- 最新バージョンへのアップグレード: 新機能の利用、パフォーマンス改善、セキュリティ修正への対応。
- プロジェクトの互換性テスト: アプリケーションが異なるデータベースバージョンで正常に動作するか検証。
- 特定バージョン依存の要件に対応: プロジェクトによっては、特定のデータベースバージョンが必須の場合があります。
事前準備
- ServBay がインストール・起動済みであること。
- コマンドラインターミナルの基本操作を理解していること。
- 現在のデータベースの
root
ユーザーのパスワードを把握していること。 - 新バージョンのインストールおよびデータバックアップ用の十分なディスク空き容量があること。
切替手順
以下では MariaDB 10.11 から MariaDB 11.3 への移行を例に、詳細な手順を解説します。MySQL バージョンの切り替えも基本的に同じ流れです。
1. 旧バージョンデータベースのバックアップ
バージョン切替の前に、必ず現在のデータベースの全データをバックアップしてください。データ損失の予防や、互換性トラブル時の復元ポイントとして非常に重要です。
バックアップには mysqldump
ツールを利用できます。ターミナルを開き、下記のコマンドを実行します。
mysqldump -uroot -p --all-databases --opt > mariadb_backup.sql
-u root
: データベースへroot
ユーザーで接続します。-p
:root
ユーザーのパスワードを入力するプロンプトが出ます。--all-databases
: すべてのデータベースをバックアップします。--opt
:--add-drop-table
,--add-locks
,--create-command
,--disable-keys
,--extended-insert
,--lock-tables
,--quick
,--set-charset
など、最適化された移植性の高いバックアップを行う一般的なオプションです。> mariadb_backup.sql
: バックアップファイルがカレントディレクトリにmariadb_backup.sql
という名前で保存されます。実行ディレクトリは通常、ユーザーのホームディレクトリ(~
)です。
コマンド実行後、MariaDB の root
パスワードを入力します。出力はほとんど表示されませんが、処理が終わるとコマンドプロンプトが戻ります。バックアップファイルの容量はデータベースの規模によって変わるため、mariadb_backup.sql
のサイズを確認し、空でないことをチェックしましょう。
2. 新バージョンのインストール
ServBay アプリの画面を開きます。ソフトウェアパッケージ (Packages) タブに移動し、データベースカテゴリで MariaDB または MySQL を探して、切り替えたい新しいバージョン(例:MariaDB 11.3)を選択し、「インストール」ボタンをクリックしてください。
ダウンロードとインストールが自動で完了するまで待ちます。
3. 旧バージョンデータベースの無効化
新バージョンのインストールが終わったら、再び ソフトウェアパッケージ (Packages) タブに戻ります。現在稼働中の旧バージョンデータベース(例:MariaDB 10.11)を見つけ、その横にあるステータスインジケータ(通常は緑色の丸アイコン)をクリックして無効化します。インジケータが灰色になれば無効化されています。
4. 新バージョンデータベースの有効化
旧バージョンを無効化した後、先ほどインストールした新しいバージョンのデータベース(例:MariaDB 11.3)を探し、ステータスインジケータをクリックして有効化してください。インジケータが緑色になれば、データベースが正常に起動しています。
5. 新バージョンをデフォルトに設定
旧バージョンを無効化し新バージョンを有効化しただけでは、デフォルトで新バージョンが使われるとは限りません。必ず ServBay の設定で、データベースのデフォルトバージョンを明示的に指定してください。
ServBay アプリの 設定 (Settings) パネルに移動します。データベース関連の設定で、MySQL または MariaDB のデフォルトバージョンの項目を探します。ドロップダウンから新バージョン(例:MariaDB 11.3)を選択してください。
画面下部の Apply(適用) ボタンをクリックし変更を保存します。
6. デフォルトバージョン設定の確認
ソフトウェアパッケージ (Packages) パネルに戻ります。新バージョン(例:MariaDB 11.3)の横に「デフォルト」と明記されていることを確認してください。
7. コマンドラインでデフォルトバージョンを検証
ターミナルで下記コマンドを実行し、実際にデフォルトバージョンが切り替わっているか確認します。
mysql -V
出力に、新たに設定したバージョン(例:mysql Ver 11.3.2-MariaDB ...
)が表示されていればOKです。
8. データベースバックアップのリストア
次に、バックアップを新バージョンのデータベースへリストアします。ターミナルで以下のコマンドを実行してください。
mysql -uroot -p < mariadb_backup.sql
-u root
:root
ユーザーでデータベースへ接続。-p
: パスワードの入力指示。< mariadb_backup.sql
: バックアップファイルの内容をmysql
クライアントに渡し、SQL を実行してデータ復元します。
コマンド実行後、新バージョンの root
パスワードを求められます(通常は旧バージョンから変更なければ同じです)。復元にはデータ量に応じて時間がかかります。
注意: リストア中、バージョン間の互換性差や、バックアップが旧バージョン依存の機能(例えば特定のストレージエンジン、関数、DEFINER
句など)を含む場合、ターミナルに警告やエラーが出ることがあります。一般的な Web アプリ用途なら無視できるものが多いですが、本番環境や複雑なアプリの場合は内容をよく確認し、必要に応じて対処してください。
9. データベース完全復元の確認
リストア完了後、データが正しく復元されているかログインして確認します。
mysql -uroot -p
パスワードを入力すると MariaDB/MySQL のコマンドラインクライアントに入れます。次のコマンドでデータベースの一覧を確認しましょう。
SHOW DATABASES;
さらに特定のDBやテーブルの中身を確認したり、クエリを実行することで、すべてのデータとアプリ連携が問題なく動作するかチェックできます。
注意事項
- データ互換性: MySQL/MariaDBは互換性維持に努力していますが、メジャーバージョンアップ(例: 5.7→8.0、MariaDB 10.x→11.x)では非互換変更も起こり得ます。切替前に必ず公式ドキュメントで互換性情報を確認してください。
- 設定ファイル: ServBay は各バージョンのDBごとに独立した設定ファイル(
my.cnf
、my.ini
など)を持っています。旧バージョンでカスタマイズした設定がある場合は、新バージョン用設定へ手動で移行・統合しましょう。これらのファイルは通常/Applications/ServBay/etc/mysql/バージョン番号/my.cnf
などのディレクトリにあります。 - パフォーマンス: 新しいDBではデフォルト設定や内部最適化が異なる場合もあるため、移行後に必ずアプリの動作やレスポンスをテストし、必要に応じて調整してください。
- ポート番号: デフォルトでは ServBay の各DBバージョンは標準ポート(3306など)で待機しています。バージョン切替のみならポートは変わりませんが、複数バージョンを同時起動する場合は、設定を手動で編集し異なるポートに変更しましょう。
よくある質問 (FAQ)
- Q: 新しくインストールしたデータベースが起動しません。
- A: ServBay パッケージパネルのステータス表示とログファイルを確認してください。ログは通常、ServBay インストールディレクトリの
var/log/mysql
またはvar/log/mariadb
配下にあり、設定ファイルエラー・ポート競合・権限問題など起動不可の要因を特定する手掛かりになります。
- A: ServBay パッケージパネルのステータス表示とログファイルを確認してください。ログは通常、ServBay インストールディレクトリの
- Q: データベースのリストア時にエラーが出ました。
- A: エラーメッセージをよく確認してください。文字コード(
mysqldump
で--default-character-set=utf8mb4
を付けると解決する場合あり)、DEFINER
権限問題(バックアップファイル内のDEFINER
句を置換)やファイル破損などが原因となるケースが多いです。大規模DBならmydumper
/myloader
などの並列バックアップ・リストアツールもおすすめです。
- A: エラーメッセージをよく確認してください。文字コード(
- Q: バックアップやリストアをせずにそのままバージョン切替できますか?
- A: 特にメジャーアップグレード時は非推奨です。直接切替すると、データ構造の非互換や破損・消失が生じる恐れがあります。必ずバックアップ&リストア手順での切替を推奨します。
- Q: バージョン切替後、WebサイトやアプリがDBに接続できません。
- A: ServBay で新バージョンデータベースが正常に起動し、デフォルトに設定されているか確認してください。アプリ側の接続設定(ホスト名:
127.0.0.1
またはlocalhost
、ポート番号:3306、ユーザー名・パスワードなど)も正しいかを併せて見直しましょう。
- A: ServBay で新バージョンデータベースが正常に起動し、デフォルトに設定されているか確認してください。アプリ側の接続設定(ホスト名:
まとめ
本記事の手順を実施すれば、ServBay 環境で MySQL または MariaDB のデフォルトバージョンを安全かつスムーズに切り替えられます。最重要ポイントはデータのバックアップ、新バージョンのインストール・有効化、ServBay 設定によるデフォルトバージョンの指定、そしてリストアまで一連の流れを正確に行うことです。バックアップを怠らず、切替後は必ずデータの完全性とアプリ機能を検証しましょう。