除了新的API在MySQL连接器/ c++ 8.0中引入的(X DevAPI和X DevAPI C)连接器/ c++现在还支持基于JDBC4遗留的API。连接器的JDBC4-based API编写的应用程序/ c++ 1.1也可以使用连接器/ c++编译8.0,这是向后兼容之前的版本。这样的代码不需要X插件,可以与旧版本的MySQL服务器通信使用遗留协议。这与X DevAPI和DevAPI对于C应用程序,它预计8.0 MySQL服务器。
遗留的API实现为一个单独的库,基本名称“mysqlcppconn”而不是“mysqlcppconn8”图书馆实施新的API。构建遗产库,您必须配置连接器/ c++使用-DWITH_JDBC =对
CMake选择。关于使用遗留API的信息,请参阅文档10bet官方网站https://dev.10bet靠谱mysql.com/doc/connector-cpp/en/connector-cpp-getting-started-examples.html。
视图和表DDL方法已被移除。最好,SQL语句被用于此类操作。
删除X DevAPI方法:
Schema.dropTable Schema.dropView Schema.alterView Schema.createView () () () ()
删除X DevAPI数据类型:
算法CheckOption SQLSecurity
删除X DevAPI C函数:
mysqlx_view_create mysqlx_view_create_new mysqlx_view_modify mysqlx_view_modify_new mysqlx_view_replace mysqlx_view_replace_new mysqlx_view_drop mysqlx_table_drop mysqlx_set_view_algorithm mysqlx_set_view_security mysqlx_set_view_definer mysqlx_set_view_check_option mysqlx_set_view_columns
删除X DevAPI C枚举:
mysqlx_view_algorithm_t mysqlx_view_security_t mysqlx_view_check_option_t
删除X DevAPI C宏:
VIEW_CHECK_OPTION VIEW_DEFINER VIEW_SECURITY VIEW_ALGORITHM () () () () VIEW_COLUMNS VIEW_OPTION_XXX ()
现在连接器/ c++支持
caching_sha2_password
身份验证插件在MySQL 8.0中引入的(见缓存SHA-2可插入身份验证),这些限制:对于X DevAPI或X DevAPI C应用程序,只加密(SSL)可以用于连接的连接
cached_sha2_password
账户。对于非ssl连接,是不可能使用cached_sha2_password
账户。使用遗留JDBC API的应用程序(也就是说,不是DevAPI X或者X DevAPI C),可以使连接
cached_sha2_password
账户在以下场景:未加密的连接(
OPT_SSL_MODE
被设置为SSL_MODE_DISABLED
)。服务器公钥是使用“rsaKey”选项,没有使用RSA密钥交换(
OPT_GET_SERVER_PUBLIC_KEY
是设置为false)。
如果启用了RSA密钥交换,连接工作。
现在可以使用了
集合
接口文档上创建和删除索引集合。X DevAPI例子:
科尔。方法createIndex (idx“R”({“字段”:[{“字段”:“$。zip”、“类型”:“文本”(10)}, { "field": "$.count", "type": "INT UNSIGNED" } ] })" ); coll.createIndex("loc", R"({ "type": "SPATIAL", "fields": [ { "field": "$.coords", "type": "GEOJSON", "srid": 31287 } ] })" ); coll.dropIndex("idx");
X DevAPI C的例子:
ret = mysqlx_collection_create_index(科尔,“idx R”({“字段”:[{“字段”:“$。zip”、“类型”:“文本”(10)},{“字段”:“$。数”、“类型”:“INT无符号“}]})”)ret = mysqlx_collecton_create_index(coll, "loc", R"({ "type": "SPATIAL", "fields": [ { "field": "$.coords", "type": "GEOJSON", "srid": 31287 } ] })" ); mysqlx_collection_drop_index(coll, "idx");
现在可以使用了
会话
接口来创建保存点内部事务和给定的保存点回滚事务。这个接口支持提供的操作保存点
,保存点回滚
,RELEASE SAVEPOINT
语句。关于这些语句的更多信息,请参阅保存,保存点回滚和RELEASE SAVEPOINT语句。X DevAPI例子:
sess.startTransaction ();字符串point1 = sess.setSavepoint ();sess.setSavepoint(“卷帘窗”);sess.rollbackTo (point1);/ /这也删除保存点“卷帘窗”字符串point3 = sess.setSavepoint ();sess.releaseSavepoint (point3);/ /显式地删除保存点sess.commitTransaction ();
X DevAPI C的例子:
mysqlx_trasaction_begin(税);const char * point1 = mysqlx_savepoint_set(零税);mysqlx_savepoint_set(税,“卷帘窗”);mysqlx_rollback_to(税、point1);const char * point3 = mysqlx_savepoint_set(零税);mysqlx_sevepoint_release(税、point3);mysqlx_transaction_commit(税);
有关更多信息,请参见使用保存点。
现在连接器/ c++实现了TLS连接使用OpenSSL库。可以构建连接器/ c++ OpenSSL或捆绑yaSSL TLS的实现。这是控制的
WITH_SSL
CMake选项,将这些值:捆绑
(构建使用捆绑yaSSL代码);系统
(使用OpenSSL库系统,构建与检测到的位置CMake);path_name
(构建使用OpenSSL库安装在指定的位置)。有关更多信息,请参见”如何构建使用连接器/ c++的代码吗”在连接器/ c++ X DevAPI参考,可用https://dev.10bet靠谱mysql.com/doc/index-connectors.html。