从连接器连接到MySQL服务器/ c++应用程序,使用connect ()
的方法MySQL_Driver
类。的connect ()
方法有两个调用序列:
一个调用序列需要参数指示如何连接到MySQL服务器,和MySQL账户的用户名和密码使用:
sql:: * MySQL_Driver:连接:连接(const sql:主题是主机名、常量sql::是用户名、常量sql::是密码)
例子:
mysql sql:::: MySQL_Driver *司机;sql:连接*欺诈;司机= sql:: mysql:: MySQL_Driver: get_mysql_driver_instance ();反对=司机- >连接(“tcp: / / 127.0.0.1:3306”,“根”,“rootpass”);
这个语法是方便简单的连接。
其他语法需要一个选项包含连接属性映射到用于建立连接:
sql:: * MySQL_Driver:连接:连接(sql:: ConnectOptionsMap &属性)
这个语法是有用的连接,需要指定选项以外的其他三个允许的第一语法。使用一个选择地图,初始化所需的连接属性,然后通过映射到
connect ()
调用。例子:
mysql sql:::: MySQL_Driver *司机;sql:连接*欺诈;sql: ConnectOptionsMap connection_properties;connection_properties(“主机名”)=主机名;connection_properties(“用户名”)=用户名;connection_properties(“密码”)=密码;connection_properties["模式"]=“information_schema”;connection_properties(“港口”)= 13306;connection_properties [“OPT_RECONNECT”] = true;司机= sql:: mysql:: MySQL_Driver: get_mysql_driver_instance (); con = driver->connect(connection_properties);
的主机名
参数可以是一个主机名、IP地址或URL。
对于一个主机名
值指定为URL,始于一个传输协议和协议的格式决定剩下的URL的一部分的语法:
tcp: / /……
这个URL格式建立一个TCP / IP连接,可用在所有平台上。主机不愉快或IP地址的格式规范许可,TCP / IP端口号码,默认数据库。的语法一个URL,包括所有这些物品看起来像这样:
tcp: / /主机:港口/db
的
:
和港口
/
URL的组成部分是可选的。的db
主机
部分可能是封闭的(
和]
字符,它是用于指定IPv6地址等::1
包含了:
字符,否则将被解释为开始:
说明符。港口
这个URL连接到本地主机使用默认的端口号,没有选择一个默认的数据库:
tcp: / / 127.0.0.1
这个URL连接到指定的主机在端口13306并选择
员工
作为默认数据库:tcp: / / host1.example.com: 13306 /员工
这个URL连接到本地主机的3307端口,使用
::1
IPv6地址。使用的URL(
和]
地址来消除歧义:
字符的主机和端口部分网址:tcp: / / (:: 1): 3307
管:/ /
pipe_name
这个URL格式允许使用命名管道连接到本地主机在Windows系统。的
pipe_name
值是命名管道的名字,同样的——套接字
选择MySQL等客户mysql和mysqladmin运行在Windows(见连接到MySQL服务器使用命令选项)。unix: / /
path_name
这个URL格式允许使用的Unix域套接字文件连接到本地主机在Unix和与Unix相似的系统。的
path_name
价值是套接字文件路径名,一样的——套接字
选择MySQL等客户mysql和mysqladmin运行在Unix(见连接到MySQL服务器使用命令选项)。
为connect ()
语法,需要映射参数的选项,连接器/ c++支持下面的列表中描述的连接属性。
许多的这些属性对应参数mysql_options ()
,mysql_options4 ()
,或mysql_real_connect ()
C API函数。对于这样的属性,描述这是短暂的。有关更多信息,请参考这些功能的描述。看到mysql_options (),mysql_options4 (),mysql_real_connect ()。
characterSetResults
这个选项设置
character_set_results
系统变量的会话。值是一个字符串。charsetDir
路径名包含字符集定义文件的目录。这个选项对应
MYSQL_SET_CHARSET_DIR
选择mysql_options ()
C API函数。值是一个字符串。这个选项在连接器/ c++ 1.1.5补充道。
CLIENT_COMPRESS
是否使用压缩在客户端/服务器协议。这个选项对应的国旗的名称相同
client_flag
论点的mysql_real_connect ()
C API函数。的值是一个布尔值。CLIENT_FOUND_ROWS
是否要返回发现(匹配)的行数,而不是改变的行数。这个选项对应的国旗的名称相同
client_flag
论点的mysql_real_connect ()
C API函数。的值是一个布尔值。CLIENT_IGNORE_SIGPIPE
是否要防止
libmysqlclient
从安装一个客户端库SIGPIPE
信号处理程序。这个选项对应的国旗的名称相同client_flag
论点的mysql_real_connect ()
C API函数。的值是一个布尔值。CLIENT_IGNORE_SPACE
是否允许空间函数名之后。这个选项对应的国旗的名称相同
client_flag
论点的mysql_real_connect ()
C API函数。的值是一个布尔值。CLIENT_INTERACTIVE
是否允许
interactive_timeout
秒的不活动(而不是wait_timeout
关闭连接之前秒)。这个选项对应的国旗的名称相同client_flag
论点的mysql_real_connect ()
C API函数。的值是一个布尔值。CLIENT_LOCAL_FILES
是否启用
数据加载本地INFILE
处理。这个选项对应的国旗的名称相同client_flag
论点的mysql_real_connect ()
C API函数。的值是一个布尔值。CLIENT_MULTI_STATEMENTS
客户端是否可以发送多个语句在一个字符串(隔开
;
字符)。这个选项对应的国旗的名称相同client_flag
论点的mysql_real_connect ()
C API函数。的值是一个布尔值。请注意没有
CLIENT_MULTI_RESULTS
连接选项。连接器/ c++允许为所有连接。CLIENT_NO_SCHEMA
是否要禁止
db_name.tbl_name.col_name
语法。这个选项对应的国旗的名称相同client_flag
论点的mysql_real_connect ()
C API函数。的值是一个布尔值。defaultAuth
使用身份验证插件的名称。这个选项对应
MYSQL_DEFAULT_AUTH
选择mysql_options ()
C API函数。值是一个字符串。这个选项在连接器/ c++ 1.1.5补充道。
defaultPreparedStatementResultType
使用结果集类型执行的语句
MySQL_Connection: prepareStatement ()
定义结果集是否可滚动。允许的值sql:结果集::TYPE_FORWARD_ONLY
和sql:结果集::TYPE_SCROLL_INSENSITIVE
。的sql:结果集::TYPE_SCROLL_SENSITIVE
类型不支持。defaultStatementResultType
使用结果集类型执行的语句
MySQL_Connection: createStatement ()
定义结果集是否可滚动。允许的值sql:结果集::TYPE_FORWARD_ONLY
和sql:结果集::TYPE_SCROLL_INSENSITIVE
。的sql:结果集::TYPE_SCROLL_SENSITIVE
类型不支持。主机名
这有相同的意义和语法three-argument
connect ()
语法。的值可以是一个主机名、IP地址或URL,如前所述,在本节中。OPT_CAN_HANDLE_EXPIRED_PASSWORDS
客户端是否可以处理过期的密码。这个选项对应
MYSQL_OPT_CAN_HANDLE_EXPIRED_PASSWORDS
选择mysql_options ()
C API函数。的值是一个布尔值。一个用法的例子,看到6.7节,“过期密码连接到一个帐户”。
这个选项被添加在连接器/ c++ 1.1.2。
OPT_CHARSET_NAME
字符集的名称作为默认字符集。这个选项对应
MYSQL_SET_CHARSET_NAME
选择mysql_options ()
C API函数。值是一个字符串。OPT_CONNECT_ATTR_ADD
键-值对添加到当前的连接属性设置在连接时传递到服务器。这个选项对应
MYSQL_OPT_CONNECT_ATTR_ADD
选择mysql_options4 ()
C API函数。的值是一个std:: map < sql::是,sql::是>
价值。这个选项在连接器/ c++ 1.1.4补充道。
OPT_CONNECT_ATTR_DELETE
键-值对的关键名称删除从当前设置连接属性传递给服务器的连接的时间。这个选项对应
MYSQL_OPT_CONNECT_ATTR_DELETE
选择mysql_options ()
C API函数。的值是一个std:: < sql::是>列表
价值。这个选项在连接器/ c++ 1.1.5补充道。
OPT_CONNECT_ATTR_RESET
重置(清除)当前设置连接属性传递给服务器的连接的时间。这个选项对应
MYSQL_OPT_CONNECT_ATTR_RESET
选择mysql_options ()
C API函数。这个选项在连接器/ c++ 1.1.5补充道。
OPT_CONNECT_TIMEOUT
秒的连接超时。这个选项对应
MYSQL_OPT_CONNECT_TIMEOUT
选择mysql_options ()
C API函数。价值是一个无符号整数。OPT_ENABLE_CLEARTEXT_PLUGIN
启用
mysql_clear_password
明文验证插件。这个选项对应MYSQL_ENABLE_CLEARTEXT_PLUGIN
选择mysql_options ()
C API函数。的值是一个布尔值。这个选项在连接器/ c++ 1.1.3补充道。
OPT_GET_SERVER_PUBLIC_KEY
对于连接到服务器使用遗留协议(也就是说,不使用X DevAPI或X DevAPI C),连接器/ c++,从服务器请求RSA公钥。使用的账户
caching_sha2_password
或sha256_password
身份验证插件,可以使用这个键在连接过程中基于RSA密钥对密码与TLS残疾人交流。这个选项对应MYSQL_OPT_GET_SERVER_PUBLIC_KEY
选择mysql_options ()
C API函数。的值是一个布尔值。此功能需要一个MySQL 8.0 GA服务器,支持只对连接器/ c++使用OpenSSL构建。
这个选项在连接器/ c++ 1.1.11补充道。
OPT_LOCAL_INFILE
是否启用
数据加载本地INFILE
声明。这个选项对应MYSQL_OPT_LOCAL_INFILE
选择mysql_options ()
C API函数。价值是一个无符号整数。这个选项在连接器/ c++ 1.1.5补充道。
OPT_NAMED_PIPE
使用命名管道连接到MySQL服务器在Windows上,如果服务器允许命名管道连接。这个选项对应
MYSQL_OPT_NAMED_PIPE
选择mysql_options ()
C API函数。值是未使用的。OPT_READ_TIMEOUT
的超时秒数为每个试图从服务器读取。这个选项对应
MYSQL_OPT_READ_TIMEOUT
选择mysql_options ()
C API函数。价值是一个无符号整数。OPT_RECONNECT
启用或禁用自动重新连接到服务器如果找到连接已经丢失。这个选项对应
MYSQL_OPT_RECONNECT
选择mysql_options ()
C API函数。的值是一个布尔值。默认的是假的。OPT_REPORT_DATA_TRUNCATION
启用或禁用报告的数据预处理语句使用的截断误差
错误
的成员MYSQL_BIND
结构。这个选项对应MYSQL_REPORT_DATA_TRUNCATION
选择mysql_options ()
C API函数。的值是一个布尔值。OPT_TLS_VERSION
指定加密的协议允许连接。选项值包含一个以逗号分隔的字符串的一个或多个协议名称。例子:
connection_properties [“OPT_TLS_VERSION”] = sql::是(“TLSv1.1, TLSv1.2”);
允许的值取决于图书馆使用SSL来编译MySQL:
TLSv1
,TLSv1.1
,TLSv1.2
如果使用OpenSSL;TLSv1
和TLSv1.1
如果yaSSL使用。默认是允许所有可用的协议。在MySQL中关于加密协议的更多信息,见TLS协议和密码加密连接。
这个选项在连接器/ c++ 1.1.8补充道。
OPT_WRITE_TIMEOUT
的超时秒数为每个尝试写信给服务器。这个选项对应
MYSQL_OPT_WRITE_TIMEOUT
选择mysql_options ()
C API函数。价值是一个无符号整数。密码
客户MySQL账户的密码。这个选项对应
passwd
论点的mysql_real_connect ()
C API函数。值是一个字符串。管
命名管道的名称的命名管道连接到本地主机在Windows系统。值是一个字符串。
pluginDir
寻找客户端插件的目录。这个选项对应
MYSQL_PLUGIN_DIR
选择mysql_options ()
C API函数。值是一个字符串。这个选项在连接器/ c++ 1.1.5补充道。
港口
TCP / IP连接的端口号。这个选项对应
港口
论点的mysql_real_connect ()
C API函数。价值是一个无符号整数。postInit
这个选项是相似的
preInit
驱动程序初始化后,但执行的语句。值是一个字符串。这个选项被添加在连接器/ c++ 1.1.2。
preInit
一个字符串包含语句之前执行驱动程序初始化。这个选项对应
MYSQL_INIT_COMMAND
选择mysql_options ()
C API函数。值是一个字符串。例如显示使用该选项重置密码过期,明白了6.7节,“过期密码连接到一个帐户”。
这个选项被添加在连接器/ c++ 1.1.2。
readDefaultFile
读选项从命名选项文件,而不是
my.cnf
。这个选项对应MYSQL_READ_DEFAULT_FILE
选择mysql_options ()
C API函数。值是一个字符串。这个选项在连接器/ c++ 1.1.5补充道。
readDefaultGroup
读选项从指定的组
my.cnf
或与指定的文件readDefaultFile
。这个选项对应MYSQL_READ_DEFAULT_GROUP
选择mysql_options ()
C API函数。值是一个字符串。这个选项在连接器/ c++ 1.1.5补充道。
rsaKey
一个文件的路径名包含服务器RSA公钥。这个选项对应
MYSQL_SERVER_PUBLIC_KEY
选择mysql_options ()
C API函数。值是一个字符串。模式
默认的数据库名称。这个选项对应
db
论点的mysql_real_connect ()
C API函数。值是一个字符串。套接字
Unix域套接字文件的名称为socket-file连接到本地主机在Unix和类Unix系统。这个选项对应
套接字
论点的mysql_real_connect ()
C API函数。值是一个字符串。sslCA
PEM格式的文件的路径,其中包含SSL信任ca的列表。这个选项对应
MYSQL_OPT_SSL_CA
选择mysql_options ()
C API函数。值是一个字符串。sslCAPath
通往一个目录,其中包含SSL信任PEM格式的CA证书。这个选项对应
MYSQL_OPT_SSL_CAPATH
选择mysql_options ()
C API函数。值是一个字符串。sslCert
SSL证书文件的名称在PEM格式用于建立一个安全连接。这个选项对应
MYSQL_OPT_SSL_CERT
选择mysql_options ()
C API函数。值是一个字符串。sslciph
的列表允许的SSL加密的密码。这个选项对应
MYSQL_OPT_SSL_CIPHER
选择mysql_options ()
C API函数。值是一个字符串。sslCRL
一个文件的路径包含PEM格式的证书撤销列表。这个选项对应
MYSQL_OPT_SSL_CRL
选择mysql_options ()
C API函数。值是一个字符串。这个选项在连接器/ c++ 1.1.4补充道。
sslCRLPath
一个目录,其中包含文件的路径包含PEM格式的证书撤销列表。这个选项对应
MYSQL_OPT_SSL_CRLPATH
选择mysql_options ()
C API函数。值是一个字符串。这个选项在连接器/ c++ 1.1.4补充道。
sslEnforce
是否需要使用SSL的连接。这个选项对应
MYSQL_OPT_SSL_ENFORCE
选择mysql_options ()
C API函数。的值是一个布尔值。sslKey
SSL密钥文件的名称在PEM格式用于建立一个安全连接。这个选项对应
MYSQL_OPT_SSL_KEY
选择mysql_options ()
C API函数。值是一个字符串。sslVerify
启用或禁用验证服务器证书的普通名称值对连接到服务器时使用的主机名。这个选项对应
MYSQL_OPT_SSL_VERIFY_SERVER_CERT
选择mysql_options ()
C API函数。的值是一个布尔值。这个选项在连接器/ c++ 1.1.4补充道。
useLegacyAuth
是否允许连接的服务器不支持MySQL以下4.4.1后来使用的密码散列。这个选项对应
MYSQL_SECURE_AUTH
选择mysql_options ()
C API函数,除了的感觉useLegacyAuth
逻辑上是相反的吗MYSQL_SECURE_AUTH
。例如,禁用安全认证,通过useLegacyAuth
真正的价值。的值是一个布尔值。这个选项在连接器/ c++ 1.1.4补充道。
用户名
使用MySQL账户的用户名。这个选项对应
用户
论点的mysql_real_connect ()
C API函数。值是一个字符串。