Skip to main content

概要

ソースコードからVillageSQLをビルドすると、最新の機能を利用でき、特定の環境に合わせてビルドをカスタマイズできます。

前提条件

開始する前に、次のものがインストールされていることを確認してください。
  • Git - リポジトリのクローン用
  • CMake 3.16以降 - ビルドシステムジェネレーター
  • C++コンパイラー - GCC 8+、Clang 8+、またはMSVC 2019+
  • ビルドツール - make、ninja、または同等のもの
  • 開発ライブラリ - OpenSSL、ncurses、pkg-config、bison、およびその他のMySQL依存関係

依存関係のインストール

Ubuntu/Debian:
macOS(Homebrewを使用): まず、まだインストールしていない場合は、Homebrewをインストールします。
次に、依存関係をインストールします。

ステップ1:リポジトリのクローン

GitHubからVillageSQL Serverリポジトリをクローンします。CMakeの次のステップが変更なしで機能するように、ホームディレクトリにクローンします。
リポジトリは、MySQLのコードベースのために数GBあります。

ステップ2:CMakeによる設定

リポジトリの外部にビルドディレクトリを作成し、プロジェクトを設定します。 Linux:
macOS:
Linuxユーザー: 絶対パスには$HOMEを使用します。macOSユーザー: ~(チルダ)を使用します。リポジトリのパスが異なる場合は、実際のクローン場所に置き換えてください。

CMakeオプションの説明

  • <path-to-repo> - クローンされたVillageSQLリポジトリへのパス(Linuxでは$HOME、macOSでは~を使用)
  • -DWITH_DEBUG=1 - デバッグシンボルを有効にします(開発に推奨)
  • -DCMAKE_INSTALL_PREFIX=~/mysql - インストールディレクトリを設定します
  • -DWITH_SSL=system - システムのOpenSSLライブラリを使用します(macOSでは必須)

その他のCMakeオプション

デバッグシンボルなしのプロダクションビルド: Linux:
macOS:
カスタムコンパイルコメント付き: Linux:
macOS:
より厳格な警告付きの開発者モード: Linux:
macOS:
再設定する必要がある場合は、最初にCMakeキャッシュをクリアします(ビルドディレクトリ内から実行します)。

ステップ3:コードのコンパイル

makeを使用して、並列コンパイルでVillageSQLをビルドします。ビルドディレクトリ内から: サーバーのみをビルドします(開発に推奨):
すべてをビルドします:
並列処理の度合い(-j10)は、CPUコア数に基づいて調整します。システムの応答性を維持するために、合計コア数から2〜4を引いてください。たとえば、12コアのマシンでは、-j10を使用します。
完了したら、サーバーバイナリがビルドされたことを確認します。 Linux:
macOS:

ステップ4:データベースの初期化

サーバーを初めて起動する前に、データディレクトリを初期化します。 Linux: プロダクション(パスワードを生成 - 推奨):
開発(パスワードなし - オプション):
rootとして実行する場合(Dockerまたはsudo): rootとして実行する場合(例:Docker内)、MySQLは--user=rootフラグが必要です。
macOS: プロダクション(パスワードを生成 - 推奨):
開発(パスワードなし - オプション):
プロダクションのような設定では、--initialize(パスワード付き)を使用します。ローカル開発およびテストでのみ、--initialize-insecure(パスワードなし)を使用します。--initializeを使用すると、一時的なパスワードが生成され、コンソールに出力されます:A temporary password is generated for root@localhost: <password>
システムデータベースが作成されたことを確認して、初期化が成功したことを確認します。 Linux:
macOS:

ステップ5:サーバーの起動

VillageSQLサーバーを起動します。 Linux:
rootとして実行する場合(Dockerまたはsudo):
macOS:
--gdbフラグは、SIGINTハンドラーをインストールするため、Ctrl-Cを押すとサーバーが正常に停止します。ターミナルから対話的に実行する場合に便利です。バックグラウンドで実行するには、mysqldコマンドに--daemonizeを追加します。

ステップ6:MySQLクライアントでの接続

新しいターミナルを開き、MySQLクライアントを使用してサーバーに接続します。 Linux: --initialize-insecure(パスワードなし)を使用する場合:
--initialize(パスワードを生成)を使用する場合:
macOS: --initialize-insecure(パスワードなし)を使用する場合:
--initialize(パスワードを生成)を使用する場合:
MySQLプロンプトが表示されるはずです。

インストールの確認

VillageSQLが実行されていることを確認します。
開発ビルドには、バージョン文字列にgitコミットハッシュが含まれます。

ステップ7:ユーザーとデータベースの設定

rootパスワードの変更

--initializeを使用した場合は、一時パスワードを変更します。

開発ユーザーの作成

日常的な開発のために、root以外のユーザーを作成します。
終了して、新しいユーザーとして再接続します。 Linux:
macOS:

データベースの作成

特定のデータベースに接続します:mysql -u developer -p -D my_database
GDBデバッグ、テストの実行、サーバーコードベースへの貢献については、サーバー開発ガイドを参照してください。

トラブルシューティング

ビルドが依存関係の欠如で失敗する

プラットフォームに必要な開発パッケージをインストールします。エラーメッセージで特定の欠落しているライブラリを確認します。

サーバーが起動しない

  • データディレクトリが初期化されていることを確認します:ls ~/mysql-data/data/
  • 別のMySQL/VillageSQLインスタンスがポート3306を使用していないことを確認します
  • ~/mysql-data/data/*.errでエラーログを確認します

拡張機能のインストールが失敗する

  • 拡張機能ライブラリ(.soまたは.dll)がビルド出力に存在することを確認します
  • VillageSQLが拡張機能をロードするために必要な権限を持っていることを確認します
  • 拡張機能の名前と.vebファイル名が正しいことを確認します

次のステップ

拡張機能の使用

VillageSQL拡張機能をインストール、更新、および管理する方法を学びます。

拡張機能の作成

VillageSQL用の独自のカスタム拡張機能を構築します。

はじめに

VillageSQLのクイックスタートガイド。