- 23.7.1 MySQL C APIの実装
- 23.7.2 MySQLサバとMySQL Connector/Cの同時ンストル
- 23.7.3 c APIクラaaplアントプログラムの例
- 23.7.4 c APIクラaaplアントプログラムの構築と実行
- 23.7.5 c APIデ,タ構造
- 23.7.6 c API関数の概要
- 23.7.7 c API関数の説明
- 23.7.8 c APIプリペアドステ,トメント
- 23.7.9 c APIプリペアドステ,トメントデ,タ構造
- 23.7.10 c APIプリペアドステ,トメント関数の概要
- 23.7.11 c APIプリペアドステ,トメント関数の説明
- 23.7.12 c APIスレッド関数の説明
- 23.7.13 c API組み込みサ,バ,関数の説明
- 23.7.14 c APIクラaaplアントプラグaaplン関数
- 23.7.15 c APIを使用する場合の一般的な質問と問題
- 23.7.16自動再接続動作の制御
- 23.7.17複数ステ,トメント実行のc APIサポ,ト
- 23.7.18 c APIプリペアドステ,トメントの問題
- 23.7.19 c APIプリペアドステ,トメントの日時値の処理
- 23.7.20 c APIのプリペアドcallステ,トメントのサポ,ト
C APIはMySQLクライアント/サーバープロトコルへの低レベルアクセスを提供し,Cプログラムがデータベースの内容にアクセスできるようにします。C APIコ,ドはMySQLとともに配布され,libmysqlclient
ラ@ @ブラリに実装されています。セクション23.7.1 " MySQL C APIの実装"を参照してください。
ほかのほとんどのクラaapl . exeアントAPIはlibmysqlclient
ラブラリを使用して,MySQLサバと通信します。(例外は连接器/ Jおよび连接器/净です)これは,たとえば,ほかのクライアントプログラムによって使用されている多くの同じ環境変数を利用できることを意味します。それらは,ラ。これらの環境変数のリストにいては,セクション4.1“MySQLプログラムの概要”を参照してください。
C APIを使用してクラc_c_apiアントプログラムを構築する手順にc_c_apiいては,セクション23.7.4.1 " c APIクラaaplアントプログラムの構築"を参照してください。スレッドによるプログラミングにいては,セクション23.7.4.2 " c APIスレッドクラaaplアントプログラムの作成"を参照してください。“と”“サーバークライアント”を同じプログラムに含む(および外部MySQLサーバーと通信しない)スタンドアロンアプリケーションを作成するには,セクション23.6 "組み込みMySQLサバラブラリlibmysqld "を参照してください。
アップグレ,ド後に,コンパ,“コマンドは同期されていません”
または予期しないコアダンプなどの問題が発生した場合は,プログラムが古いヘッダーファイルまたはライブラリファイルを使用してコンパイルされた可能性があります。この場合,コンパmysql.h
ファ@ @ルおよびlibmysqlclient.a
ラaapl . exeブラリの日付をチェックして,それらが新しいMySQL配布からのものであることを確認します。そうでない場合には,プログラムを新しいヘッダ,およびラ。ラブラリのメジャバジョン番号が変更された(libmysqlclient.so.17
からlibmysqlclient.so.18
など)場合に,共有クライアントライブラリに対してコンパイルされているプログラムでも,再コンパイルが必要になる可能性があります。追加の互換性情報にいては,セクション23.7.4.3 " c APIクラaaplアントプログラムの実行"を参照してください。
クラ▪▪アントは最大の通信バッファ▪サ▪▪ズを持▪ます。最初に割り当てられるバッファーのサイズ(16 kバイト)は最大サイズ(デフォルトで16 mバイト)まで自動的に増やされます。バッファーサイズは,必要に応じてのみ増やされるため,最大制限を単純に増やしても,それ自体で使用されるリソースが増えるわけではありません。このサ@ @ズチェックは,主に誤ったステ@ @トメントと通信パケットに対する予防措置です。
通信バッファーは,単一のSQLステートメント(クライアントからサーバーへのトラフィックの)と1行の返されるデータ(サーバーからクライアントへのトラフィックの)を格納するために十分な大きさがある必要があります。各セッションの通信バッファ,は,クエリ,または行を処理するために,最大制限まで動的に拡大されます。たとえば,16mバトまでのデタを格納する团
値がある場合,少なくとも16 mバイトの通信バッファー制限が必要です(サーバーとクライアントの両方で)。クライアントライブラリに組み込まれたデフォルトの最大は1 gバイトですが,サーバーでのデフォルトの最大は1 mバイトです。これを増やすには,サ,バ,起動時にmax_allowed_packet
パラメ,タの値を変更します。セクション8.11.2 "サ,バ,パラメ,タのチュ,ニング"を参照してください。
MySQLサバは各クエリ後,各通信バッファをnet_buffer_length
バ@ @トに縮小します。クラ@ @アントでは,接続に関連付けられたバッファ@ @のサ@ @ズは接続がクロ@ @ズされるまで減らされません。その時点で,クラ。