埋め込まれたMySQLサーバライブラリーは、フル機能のMySQLサーバをクライアント・アプリケーションの中で運転することを可能にします。主な利益は埋め込まれたアプリケーションに対するスピードの増加とマネージメントの単純化です。
埋め込みのサーバライブラリは、C/C++で書かれているMySQのクライアント/サーバ用のバージョンに基づいています。従って、埋め込まれたサーバもC/C++で書かれます。他の言語を使って利用可能な埋め込みサーバは存在しません。
APIは埋め込みのMySQLバージョンとクライアント/サーバ用バージョン対するものと同じです。使い古しのアプリケーションを変えて、埋め込まれたライブラリを使うには、あなたは通常、次の機能に対するコールを加えなければなりません。
機能 | 呼び出し時期 |
mysql_library_init() |
は他のMySQL機能が呼び出される前のなるべく早期に、main() 機能の中に呼び出すべきです。 |
mysql_library_end() |
を、あなたのプログラムが終了する前に、呼び出すべきです。 |
mysql_thread_init() |
を、MySQLにアクセスするよう、あなたが生成する各スレッドの中に呼び出すべきです。 |
mysql_thread_end() |
を、pthread_exit() を呼び出す前に呼び出すべきです。 |
その後あなたは、自分のコードをlibmysqlclient.a
の代わりに、libmysqld.a
とリンクさせなければなりません。
mysql_library_
関数もxxx
()libmysqlclient.a
に含まれているので、あなたのアプリケーションを正しいライブラリにリンクさせることによって、埋め込まれているバージョンとクライアント/サーバ用のバージョンの間に変更を施すことが許されます。詳しくは項23.2.3.40. 「mysql_library_init()
」を参照してください。
埋め込みサーバと独立サーバの間の1つ違いは、埋め込みサーバの場合、接続のための認証が初期設定によって無効にされていることです。埋め込みサーバに対して認証を使用するには、configure
を呼び出して、あなたのMySQLデストリビューションを設定する時、--with-embedded-privilege-controlを規定してください。