int mysql_options(MYSQL *mysql, enum mysql_option
option, const char *arg)
説明
それは、余分な接続オプションをセットし、接続のための行動に影響を与えるために 使うことができます。幾つかのオプションをセットするために、この機能を何回でも呼び出すことができます。
mysql_options()
はmysql_init()
の後およびmysql_connect()
もしくはmysql_real_connect()
の前に呼び出されるべきです。
option
引数は、セットしたいオプションです。arg
引数はそのオプションのための値です。オプションが整数である場合、arg
はその整数の値を指し示すべきです。
可能なオプション値:
オプション | アーギュメント型 | ファンクション |
MYSQL_INIT_COMMAND |
char * |
サーバに接続する際実行するコマンド。再接続すると、自動的に再実行されます。 |
MYSQL_OPT_COMPRESS |
使用しない | 圧縮されたクライアント/サーバプロトコルを使用。 |
MYSQL_OPT_CONNECT_TIMEOUT |
unsigned int * |
接続タイムアウトまで秒読み。 |
MYSQL_OPT_GUESS_CONNECTION |
使用しない |
libmysqld に対してリンクされたアプリケーションに対して、これは、ライブラリが埋込サーバを使うべきか、遠隔サーバを使うべきか憶測することを許します。「Guess」は、ホスト名がセットされたが、これがlocalhost でない場合、遠隔サーバを使うことを意味します。この行動はデフォルトです。MYSQL_OPT_USE_EMBEDDED_CONNECTION およびMYSQL_OPT_USE_REMOTE_CONNECTION はそれを無効にするのに使うことができます。このオプションは、libmysqlclient に対してリンクされたアプリケーションの場合、無視されます。 |
MYSQL_OPT_LOCAL_INFILE |
ユニットに対するオプションポインター | ポインターが附与されない場合もしくはunsigned
int !=
0 を指さす場合、コマンドLOAD
LOCAL INFILE は有効です。 |
MYSQL_OPT_NAMED_PIPE |
使用しない | NT上のMySQLサーバに接続する指定パイプを使用してください。 |
MYSQL_OPT_PROTOCOL |
unsigned int * |
使用するプロトコルの種類。mysql.h
で定義され mysql_protocol_type
のEナンバー値のうちの1つであるべきです。 |
MYSQL_OPT_READ_TIMEOUT |
unsigned int * |
サーバからの読み込みタイムアウト(TCP/IPコネクションまたはMySQL
5.1.12以前のWindowsでのみ使用できます)。このオプションを使用すると、最後の接続を10分のTCP/IPClose_Wait_Timeout 値より早期に検出することができます。 |
MYSQL_OPT_RECONNECT |
my_bool * |
は、接続が失われたと判明した場合、は、サーバへの自動再接続を有効か無効にします。再接続は初期設定によってオフになっていますが、このオプションは再接続行動を明確にセットする方法を提供します。 |
MYSQL_OPT_SET_CLIENT_IP |
char * |
libmysqld に対して
(認証サポートを使って編集された
libmysqld 利用して)リンクされたアプリケーションの場合、これは、ユーザーは認証を目的に、(ストリングとして規定された)規定IPアドレスから接続したと思われることを意味します。このオプションは、libmysqlclient に対してリンクされたアプリケーションの場合、無視されます。 |
MYSQL_OPT_SSL_VERIFY_SERVER_CERT |
my_bool * |
は、サーバに接続するとき使用したホスト名に対する証明の中に登録されたサーバの固有名の認証を有効化したり、無効化したりします。ミスマッチがあった場合、接続は拒絶されます。この機能は、man-in-the-middleアタックを防止するために使用することができます。認証は初期設定では無効になっています。MySQL 5.1.11に追加。 |
MYSQL_OPT_USE_EMBEDDED_CONNECTION |
使用しない |
libmysqld に対してリンクされたアプリケーションの場合、これは、接続に埋込サーバを使用することを強要します。このオプションは、libmysqlclient に対してリンクされたアプリケーションの場合、無視されます。 |
MYSQL_OPT_USE_EMBEDDED_CONNECTION |
使用しない |
libmysqld に対してリンクされたアプリケーションの場合、これは、接続に遠隔サーバを使用することを強要します。このオプションは、libmysqlclient に対してリンクされたアプリケーションの場合、無視されます。 |
MYSQL_OPT_USE_RESULT |
使用しない | このオプションは使用されません。 |
MYSQL_OPT_WRITE_TIMEOUT |
unsigned int * |
(現在、TCP/IP接続上のWindowsでのみ有効な)サーバへの書き込みに対するタイムアウト。 |
MYSQL_READ_DEFAULT_FILE |
char * |
my.cnf から行う代わりに、指定オプションファイルからオプションを読み取ってくさださい。 |
MYSQL_READ_DEFAULT_GROUP |
char * |
指定グループ、my.cnf またはMYSQL_READ_DEFAULT_FILE を使って規定したファイルからオプションを読み取ってください。 |
MYSQL_REPORT_DATA_TRUNCATION |
my_bool * |
MYSQL_BIND.error を経由して行う準備されたステートメントに対するデータ・トランランケーションエラーの報告を有効かしたり、無効化します。初期設定:無効化。) |
MYSQL_SECURE_AUTH |
my_bool* |
MySQL 4.1.1およびそれより新しいバージョンのMySQLに使用されているパスワードバッシングをサポートしていないサーバへの接続の可否。 |
MYSQL_SET_CHARSET_DIR |
char* |
文字セットの定義ファイルを含むダイレクトリーに対するパスネーム。 |
MYSQL_SET_CHARSET_NAME |
char* |
デフォルト文字セットとして使用すべき文字セットの名称。 |
MYSQL_SHARED_MEMORY_BASE_NAME |
char* |
サーバとのコミュニケーションに使用すべ共有メモリオブジェクトの名称。接続したいmysqld サーバのために使用したオプション--shared-memory-base-nameと同じにすべきです。 |
client
グループは、MYSQL_READ_DEFAULT_FILE
またはMYSQL_READ_DEFAULT_GROUP
を使う場合、常に読み込まれることにご注目ください。
オプションファイル内の規定れたグループには、以下のオプションを含めることができます:
オプション | 摘要 |
connect-timeout |
接続タイムアウト(秒)。Linux上で、このタイムアウトはサーバから最初の答えを待つためにも使います。 |
compress |
圧縮したクライアント/サーバプロトコルを使ってください。 |
database |
接続コマンドの中に規定されなかった場合、このデータベースに接続してください。 |
debug |
デバッグオプション。 |
disable-local-infile |
LOAD DATA LOCAL の使用が無効。 |
host |
デフォルトホストネーム。 |
init-command |
MySQLサーバに接続する時実行すべきコマンド。再接続するとき、自動的に再実行されます。 |
interactive-timeout |
CLIENT_INTERACTIVE をmysql_real_connect() に規定すると同じように。項23.2.3.52. 「mysql_real_connect() 」参照。 |
local-infile[=(0|1)] |
引数がないか、引数!= 0の場合、LOAD DATA
LOCAL の使用を有効にする。 |
max_allowed_packet |
サーバから読み取ることができるパケットの最大サイズ。 |
multi-results |
マルチステートメントまたは記憶された手順の実行からマルチ結果セットを取得することを許す。 |
multi-statements |
クライアントが、マルチステートメントを(‘; ’によって仕切られた)シングルストリングの中に送ることを許す。 |
password |
デフォルトパスワード。 |
pipe |
NT上のMySQLサーバに接続するため、指定パイプを使ってください。 |
protocol={TCP|SOCKET|PIPE|MEMORY} |
サーバに接続するとき使用すべきプロトコル。 |
port |
デフォルトポートナンバー。 |
return-found-rows |
UPDATE を使うとき、更新された列の代わりに見つかった列を戻すようmysql_info() に告げてください。 |
shared-memory-base-name= |
サーバに接続するとき使用すべき共有メモリー(デフォルトは"MYSQL")。 |
socket |
デフォルトソケットファイル。 |
user |
デフォルトユーザー。 |
timeout
はconnect-timeout
に置き換えられましたが、timeout
は、下位互換性について、まだMySQL
5.1.15-betaによってサポートされている点にご注目ください。
オプションファイルの明細については、項3.3.2. 「オプションファイルの使用」をご参照ください。
戻り値
成功のためのゼロ。未知のオプションを使う場合、非ゼロ。
例
MYSQL mysql; mysql_init(&mysql); mysql_options(&mysql,MYSQL_OPT_COMPRESS,0); mysql_options(&mysql,MYSQL_READ_DEFAULT_GROUP,"odbc"); if (!mysql_real_connect(&mysql,"host","user","passwd","database",0,NULL,0)) { fprintf(stderr, "Failed to connect to database: Error: %s\n", mysql_error(&mysql)); }
このコードは、クライアントに圧縮されたクライアント/サーバプロトコルを使い、my.cnf
ファイル中にあるodbc
セクションから追加オプションを読み取ることを求めるものです。