添加了 Python 3.7 支持。(漏洞 #27081809,漏洞 #87818)
-
为了使用现有
mysqlx.get_session(conn_str)
方法,添加了一个新mysqlx.get_client(conn_str, options)
方法来创建一个连接池处理程序,该处理程序提供一种get_session()
方法来创建和检索池中的连接。集合池选项是:enabled
:启用或禁用连接池;布尔值,默认为 true。max_size
:池中可用的最大连接数;正整数,默认为 25。max_idle_time
:连接在关闭前可以在队列中空闲的最大毫秒数;整数 >= 0,默认为 0(无限)。-
queue_timeout
:请求等待连接可用的最大毫秒数;整数 >= 0,默认为 0(无限)。这与用于非池化的 connect_timeout 不同。在池场景中,池中已经有连接,因此 queue_timeout 控制等待池中连接的时间。
用法示例:
client = mysqlx.get_client( { 'host': 'localhost', 'port': 33060, 'user': 'mike', 'password': 'password' }, { pooling: { enabled: true, max_idle_time: 5000, max_size: 25, queue_timeout: 20000 } } )
关闭附加到池的会话使池中的连接可用于后续的 get+session() 调用,同时关闭(销毁)池有效地关闭所有服务器连接。
-
添加了
connection-timeout
连接超时查询参数。这定义了客户端等待 MySQL 服务器在给定网络地址可用的时间长度(毫秒)。它被添加到 mysqlx.get_session()(非池会话)和 mysqlx.get_client()(池会话)接口。此选项默认为 10000(10 秒)。值 0 禁用超时,因此客户端将等待底层套接字(平台相关)超时。用法示例:
mysqlx.get_session("root@localhost?connect-timeout=0"); mysqlx.get_session("root@[localhost:33060, 127.0.0.1:33060]?connect-timeout=5000");
在多主机场景中,该
connect-timeout
值适用于每个单独的主机。