Documentation Home
MySQL 5.6 リファレンスマニュアル
Download this Manual
PDF (US Ltr) - 26.8Mb
PDF (A4) - 26.9Mb
HTML Download (TGZ) - 7.1Mb
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
User comments in this section are, as the name implies, provided by MySQL users. The MySQL documentation team is not responsible for, nor do they endorse, any of the information provided here.
Sign Up Login You must be logged in to post a comment.