メインコンテンツへスキップ

VillageSQL is a drop-in replacement for MySQL with extensions.

All examples on this page work on VillageSQL. Install Now →
VillageSQL Server は MySQL のドロップイン代替です。サードパーティのプラグインがない単一インスタンスの素の MySQL 8.4 インストールでは、VillageSQL への移行は機能的にマイナーバージョンのアップグレード(例: 8.4.5 から 8.4.6)と同じで、既存のデータは保持されます。非標準のプラグインに依存するものは、先にコピーでテストしてください。

前提条件

  • VillageSQL のバイナリ: VillageSQL のバイナリ(ソースからコンパイルしたもの、またはダウンロードしたもの)を用意してください。
  • MySQL のバージョン: VillageSQL は MySQL 8.4 LTS に基づいています。MySQL 8.4 からのアップグレードがサポートされる経路です。
アップグレードを実行する前に、必ずデータをバックアップしてください。 このプロセスは安全になるように設計されていますが、データベースのアップグレードには常にリスクが伴います。

ステップ 1: データのバックアップ

システムファイルやサービスに触れる前に、データベースの完全なバックアップを作成します。

オプション A: 論理バックアップ(mysqldump)

すべてのデータベースの SQL ダンプを作成します。これが最も安全で移植性の高い方法です。

オプション B: 物理バックアップ(データディレクトリ)

データセットが大きい場合は、サーバーを停止してデータディレクトリをコピーします。

ステップ 2: MySQL サーバーの停止

データファイルのロックを解放するために、現在実行中の MySQL サーバーインスタンスを停止します。 Systemd を使う場合(Linux):
SysV Init を使う場合:
手動インストールの場合:

ステップ 3: バイナリの置き換え

アップグレードの中核は、実行可能ファイル(mysqld、mysql など)をアップストリームの MySQL 版から VillageSQL 版に切り替えることです。 MySQL を tarball でインストールした場合(例: /usr/local/mysql へ)、最もきれいな方法は、VillageSQL をその隣にインストールしてシンボリックリンクを切り替えることです。
  1. VillageSQL を展開/インストールして、新しいディレクトリ(例: /usr/local/villagesql-8.4)に置きます。
  2. シンボリックリンクを更新します。
  3. 権限を確認します。データベースを実行するユーザー(通常は mysql)が新しいバイナリの実行権限を持っていることを確認します。

方法 B: バイナリの上書き

VillageSQL をソースからコンパイルし、システムのインストール(例: /usr/bin または /usr/local/bin)を上書きしたい場合は次のようにします。
MySQL をパッケージマネージャー(apt、yum)でインストールした場合、バイナリを手動で上書きするのは危険です。パッケージマネージャーが更新時にそれらを元に戻してしまう可能性があるからです。mysql-server パッケージをアンインストールする(データファイルは残します!)か、利用できるなら update-alternatives を使うことをお勧めします。

ステップ 4: 設定の確認

設定ファイル(通常は /etc/my.cnf または /etc/mysql/my.cnf)が既存のデータディレクトリを指していることを確認します。
VillageSQL は標準の MySQL 設定オプションを使うので、既存の my.cnf は変更なしで動作するはずです。

ステップ 5: VillageSQL の起動

サービスマネージャーを使うか、手動でサーバーを起動します。 Systemd を使う場合:
手動起動:

自動アップグレード

起動時に、VillageSQL はデータファイルが古いバージョンのものかどうかを自動的に検出し、システムテーブルに必要なアップグレードを実行します。 エラーログ(通常は /var/log/mysql/error.log または datadir の中)を確認して、アップグレードが正常に完了したことを確認します。次の行を探してください。 [System] [MY-013381] [Server] Server upgrade from '...' to '...' completed.

ステップ 6: インストールの確認

サーバーに接続し、VillageSQL が実行されていることを確認します。
次のクエリを実行します。
これでデータが無傷であることを確認し、INSTALL EXTENSION のような VillageSQL 独自の機能を使い始められます。

トラブルシューティング

  • “Data Dictionary Upgrade Failed”: サーバーが起動を拒否する場合、ダウングレード(例: 8.4 から 8.0)を試みているか、データファイルが破損している可能性があります。エラーログを確認してください。
  • 権限エラー: mysql OS ユーザーが datadir と新しい VillageSQL インストールディレクトリを所有していることを確認してください。

関連項目