概要
ソースコードからVillageSQLをビルドすると、最新の機能を利用でき、特定の環境に合わせてビルドをカスタマイズできます。前提条件
開始する前に、次のものがインストールされていることを確認してください。- Git - リポジトリのクローン用
- サポートされているプラットフォーム - DebianまたはUbuntu Linux、あるいはHomebrewを導入したmacOS
ステップ1:リポジトリのクローン
GitHubからVillageSQL Serverリポジトリをクローンします。CMakeの次のステップが変更なしで機能するように、ホームディレクトリにクローンします。MySQLのコードベースが含まれているため、リポジトリのサイズは数GBあります。
ステップ2:ビルド依存関係のインストール
クローンしたリポジトリからセットアップスクリプトを実行します。このスクリプトはオペレーティングシステムを検出し、ビルドに必要なパッケージをインストールします。apt-getを使用し、sudoを要求します。macOSでは、Homebrewを使用します。VillageSQLのCIも同じスクリプトでビルド依存関係をインストールするため、パッケージの一覧は常にビルドの内容に追随します。
このスクリプトはDebianまたはUbuntu Linux、およびmacOSをサポートしています。それ以外のLinuxディストリビューションでは、
villagesql/bld_tools/setup_linux_build_env.shを読み、同等のパッケージを各自のパッケージマネージャーでインストールしてください。ステップ3:CMakeによる設定
リポジトリの外部にビルドディレクトリを作成し、プロジェクトを設定します。-DWITH_SSL=systemを追加します。
パスは両方のプラットフォームで
~ではなく$HOMEを使用します。シェルは単語の先頭にある~しか展開しないため、--datadir=~/mysql-data/dataは~という名前のディレクトリとしてmysqldに渡され、サーバーは異常終了します。また、"$HOME/..."と引用符で囲むことで、ホームディレクトリ名にスペースが含まれる場合でもパスが分割されません。リポジトリのパスが異なる場合は、実際のクローン場所に置き換えてください。CMakeオプションの説明
<path-to-repo>- クローンされたVillageSQLリポジトリへのパス-DWITH_DEBUG=1- デバッグシンボルを有効にします(開発に推奨)-DCMAKE_INSTALL_PREFIX="$HOME/mysql"- インストールディレクトリを設定します-DWITH_SSL=system- システムのOpenSSLライブラリを使用します(macOSでは必須)
その他のCMakeオプション
デバッグシンボルなしのプロダクションビルド:再設定する必要がある場合は、最初にCMakeキャッシュをクリアします(ビルドディレクトリ内から実行します)。
ステップ4:コードのコンパイル
makeを使用して、並列コンパイルでVillageSQLをビルドします。ビルドディレクトリ内から: サーバーとクライアントをビルドします(開発に推奨):mysqlターゲットは、ステップ7で接続に使用するクライアントをビルドします。make -j10 mysqldだけではサーバーのみがビルドされるため、ステップ7で実行するクライアントがありません。
すべてをビルドします:
ステップ5:データベースの初期化
サーバーを初めて起動する前に、データディレクトリを初期化します。 プロダクション(生成されたパスワードを使用 - 推奨):--user=rootフラグが必要です。
プロダクションのような設定では、
--initialize(パスワード付き)を使用します。ローカル開発およびテストでのみ、--initialize-insecure(パスワードなし)を使用します。--initializeを使用すると、一時的なパスワードが生成され、コンソールに出力されます:A temporary password is generated for root@localhost: <password>ステップ6:サーバーの起動
VillageSQLサーバーを起動します。ステップ7:MySQLクライアントでの接続
新しいターミナルを開き、MySQLクライアントを使用してサーバーに接続します。--initialize-insecure(パスワードなし)を使用する場合:
--initialize(生成されたパスワードを使用)を使用する場合:
インストールの確認
VillageSQLが実行されていることを確認します。ステップ8:ユーザーとデータベースの設定
rootパスワードの変更
--initializeを使用した場合は、一時パスワードを変更します。
開発ユーザーの作成
日常的な開発のために、root以外のユーザーを作成します。データベースの作成
トラブルシューティング
ビルドが依存関係の欠如で失敗する
セットアップスクリプトをもう一度実行します。ステップ3ではビルドディレクトリにいるため、スクリプトの絶対パスを指定します。サーバーが起動しない
- データディレクトリが初期化されていることを確認します:
ls "$HOME/mysql-data/data/" - 別のMySQL/VillageSQLインスタンスがポート3306を使用していないことを確認します
$HOME/mysql-data/data/*.errでエラーログを確認します
拡張機能のインストールが失敗する
- 拡張機能ライブラリ(Linux では
.so、macOS では.dylib)がビルド出力に存在することを確認します - VillageSQLが拡張機能をロードするために必要な権限を持っていることを確認します
- 拡張機能の名前と
.vebファイル名が正しいことを確認します
次のステップ
拡張機能の使用
VillageSQL拡張機能をインストール、更新、および管理する方法を学びます。
拡張機能の作成
VillageSQL用の独自のカスタム拡張機能を構築します。
はじめに
VillageSQLのクイックスタートガイド。

