組み込み MySQL サーバライブラリを使用することで、クライアントアプリケーション内部で完全な機能を備えた MySQL サーバを実行できます。最大の長所は、処理速度が高速になることと、組み込みアプリケーションの管理性が向上することです。
組み込み MySQL サーバライブラリは、C/C++ で記述された MySQL のクライアント/サーババージョンをベースとしています。そのため、組み込みサーバも C/C++ で記述されています。他の言語での組み込みサーバは提供されていません。
組み込みサーババージョンとクライアント/サーババージョンはどちらも同じ API が用意されています。既存のスレッドアプリケーションも、通常は以下の関数への呼び出しを追加するだけで、組み込みサーバライブラリを使用するように変更できます。
関数 | 呼び出すタイミング |
mysql_server_init() |
他の MySQL
関数が呼び出される前に呼び出す必要がある。main()
関数のできるだけ先頭に近い場所が望ましい。 |
mysql_server_end() |
プログラムが終了する前に呼び出す必要がある。 |
mysql_thread_init() |
MySQL にアクセスするスレッドごとに呼び出す必要がある。 |
mysql_thread_end() |
pthread_exit()
を呼び出す前に呼び出す必要がある。 |
次に、libmysqlclient.a
ではなく、libmysqld.a
を作成したコードにリンクする必要があります。
上記の mysql_server_xxx
関数は
libmysqlclient.a
にも含まれており、作成したアプリケーションを適切なライブラリとリンクするだけで、組み込みサーババージョンおよびクライアント/サーババージョンのどちらを使用するかを切り替えることができるようになっています。
See 項11.1.11.1. 「mysql_server_init()
」。
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.