Documentation Home
MySQL 5.6 リファレンスマニュアル
Download this Manual
PDF (US Ltr) - 27.1Mb
PDF (A4) - 27.1Mb
EPUB - 7.5Mb
HTML Download (TGZ) - 7.2Mb
HTML Download (Zip) - 7.2Mb


MySQL 5.6 リファレンスマニュアル  /  Connector および API  /  組み込み MySQL サーバーライブラリ libmysqld

23.7 組み込み MySQL サーバーライブラリ libmysqld

組み込み MySQL サーバーライブラリは、クライアントアプリケーション内で、完全な機能を備えた MySQL サーバーを実行できるようにします。この主なメリットは組み込みアプリケーションの速度の向上と管理の単純化です。

組み込みサーバーライブラリは、C/C++ で書かれている MySQL のクライアント/サーバーバージョンに基づいています。そのため、組み込みサーバーも C/C++ で書かれています。ほかの言語で利用可能な組み込みサーバーはありません。

API は組み込み MySQL バージョンとクライアント/サーバーバージョンで同じです。組み込みライブラリを使用するようにスレッドアプリケーションを変更するには、通常次の関数への呼び出しを追加する必要があるだけです。

表 23.3 MySQL 組み込みサーバーライブラリ関数

関数

呼び出すタイミング

mysql_library_init()

ほかの MySQL 関数が呼び出される前、できれば main() 関数の早期に呼び出します。

mysql_library_end()

プログラムが終了する前に呼び出します。

mysql_thread_init()

MySQL にアクセスする、作成する各スレッド内で呼び出します。

mysql_thread_end() pthread_exit() を呼び出す前に、呼び出します。

次に、コードを libmysqlclient.a の代わりに libmysqld.a とリンクします。アプリケーションとサーバーライブラリ間のバイナリ互換性を確保するには、常に、サーバーライブラリのコンパイルに使用された同じ一連の MySQL のヘッダーに対してアプリケーションをコンパイルします。たとえば、libmysqld が MySQL 5.1 ヘッダーに対してコンパイルされていた場合、アプリケーションを MySQL 5.5 ヘッダーに対してコンパイルしないでください。また逆も同様です。

mysql_library_xxx() 関数は libmysqlclient.a にも含まれているため、アプリケーションを正しいライブラリとリンクするだけで、組み込みバージョンとクライアント/サーバーバージョン間の変更が可能です。セクション23.8.7.40「mysql_library_init()」を参照してください。

組み込みサーバーとスタンドアロンサーバーの 1 つの違いは、組み込みサーバーの場合、接続のための認証がデフォルトで無効にされていることです。


User Comments
Sign Up Login You must be logged in to post a comment.