2.1数据库连接示例

连接到MySQL Document Store所需的代码看起来很像传统的MySQL连接代码,但现在应用程序可以为运行X插件的MySQL Server实例建立逻辑会话。会议由此产生mysqlx.工厂,返回的会话可以封装运行X插件的一个或多个MySQL Server实例的访问权限。默认情况下使用会话对象的应用程序可以在单个服务器设置和数据库群集上部署,没有代码更改。

使用x devapi会话使用mysqlx.getSession(连接)方法。您在连接参数中传递到连接到MySQL服务器(例如主机名和用户),非常类似于其中一个经典API中的代码。例如,可以将连接参数指定为URI类型字符串用户:@localhost:33060例如,或作为数据字典,例如数据字典{User:myuser,密码:mypassword,host:example.com,端口:33060}。看使用URI型字符串或键值对连接到服务器想要查询更多的信息。

用于连接的MySQL用户帐户应该使用mysql_native_password.或者caching_sha2_password.身份验证插件,查看可插拔身份验证。您要连接的服务器应启用加密连接,默认为MySQL 8.0。这可确保客户端使用X协议清楚的密码机制适用于使用任何身份验证插件的用户帐户。如果您尝试连接到没有启用加密连接的服务器实例,则适用于使用的用户帐户mysql_native_password.尝试使用插件身份验证mysql41.首先,使用的用户帐户caching_sha2_password.身份验证返回SHA256_MEMORY.

以下示例代码显示如何连接到MySQL服务器并从中获取文档我的收藏集合有现场名称从...开始L.。该示例假定架构调用测试存在,和我的收藏集合存在。要使示例工作,更换用户使用您的用户名,密码使用您的密码。如果要连接到其他主机或通过其他端口,请更改主机localhost.和港口33060.

来自MySQLSH导入MySQLX#在localhost mysession = mysqlx.get_session({'主机':'localhost','端口':33060,'用户','密码':'密码'})mydb = mysession.get_schema('test')#使用集合'my_collection'mycoll = mydb.get_collection('my_collection')#指定使用collection.find()和#从数据库中获取哪个文档.execute()mydocs = mycoll.find('姓名:param')。限制(1).bind('param','l%')。execute()#打印文档文档= mydocs.fetch_one()打印(文档)MySession.Close()