-
如果 MySQL 服务器配置为支持加密连接,Connector/Python 现在会默认尝试建立加密连接,否则回退到未加密连接。这是类似于
--ssl-mode=PREFERRED
MySQL 客户端程序支持的选项的行为。已为
mysqlx
URI 类型字符串连接架构实施以下 TLS/SSL 选项。都需要 Python 2.7.9 或更高版本。ssl-enable
:此选项强制执行 SSL 连接。如果给定,连接尝试必须能够建立加密连接,否则尝试失败。ssl-ca
:此选项用于验证服务器证书。ssl-cert
,ssl-key
: 这些选项用于传递客户端证书和密钥,但服务器目前不使用这些来验证客户端。
ssl-enable
参数可以在参数字典或 URL 中指定,如下所示 :mysqlx.get_session({"user": "root", "host": "localhost", "port": 33060, "password": "pass", "ssl-enable": True})
或者:
mysqlx.get_session("mysqlx://root:pass@localhost?ssl-enable")
其他参数使用类似。在 URI 类型字符串中,路径名值应在括号内给出;例如, 。请参阅使用类似 URI 的字符串或键值对连接到服务器。(漏洞#24954646)
ssl-cert=(
path_name
) 现在有一个标准的 API 来创建一个表:
Schema
对象有一个create_table
函数。如果表存在,它会抛出错误。-
对于任何采用参数值列表作为参数的方法,现在可以更灵活地指定参数:作为值列表或单个参数列表。例如,这些方法调用是相同的:
Collection.add([{"a": 27}, {"a": 28}]) Collection.add({"a": 27}, {"a": 28})
对于
Schema
对象, 添加了get_view
、create_view
、alter_view
和drop_view
函数以支持对View
对象的检索、创建、更改和删除操作。-
在 Unix 和类 Unix 系统上,现在支持 Unix 域套接字文件作为连接传输。可以在参数字典或 URL 中指定套接字文件,如下所示:
mysqlx.get_session({"user": "root", "password": "pass", "socket": "/path/to/socket"})
或者:
mysqlx.get_session("mysqlx://user:pass@(/path/to/sock)/schema") mysqlx.get_session("mysqlx://user:pass@/path%2Fto%2Fsock/schema") mysqlx.get_session("mysqlx://user:pass@.%2Fpath%2Fto%2Fsock/schema") mysqlx.get_session("mysqlx://user:pass@..%2Fpath%2Fto%2Fsock/schema")
对于使用 创建的用户,通过为标准 MySQL 客户端程序指定but not 或fails 来
REQUIRE SSL
建立 SSL 连接 。在连接器/Python 中(不正确地)允许相同的连接配置。(漏洞 #24953032)--ssl-key
--ssl-ca
--ssl-cert
由于不正确的 SSL CA 导致的连接失败会导致出现无意义的错误消息。(漏洞 #24948054)
INFORMATION_SCHEMA
如果从非表中选择的视图被更改为从表中选择,则 使用架构对象更改视图失败INFORMATION_SCHEMA
。(缺陷号 24947078)schema.create_collection()
使用空集合名称会引发不正确的错误。(漏洞 #24520850)