-
X DevAPI: 在 MySQL Shell Python X DevAPI 实现中,
mysqlx
和mysql
模块已移至新mysqlsh
模块中。这改变了你导入模块的方式,现在你应该发出:mysql-py> from mysqlsh import mysql mysql-py> from mysqlsh import mysqlx
(缺陷号 25030138)
X DevAPI: XSessions 已被移除,这意味着
--x
命令选项被移除。默认会话现在是 NodeSession。该mysqlx.getSession()
功能也被删除,\connect
MySQL Shell 命令不接受该-x
选项。(漏洞 #24958348,漏洞 #83553)在命令行启动 MySQL Shell 时,URI 现在是一个位置参数。(缺陷号 25077429)
已删除存储会话功能。(缺陷 #24949016,缺陷 #83530)
MySQL Shell 1.0.8 版包括新发布的 AdminAPI,可用于 JavaScript 和 Python,使您能够设置和管理 InnoDB 集群。它提供了一个现代流畅的 API,它包装了与配置、供应和管理 InnoDB 集群相关的复杂性,而不会牺牲功能、灵活性或安全性。
Linux: 尝试在 Linux 上使用错误的用户或密码创建连接会导致
Error Unknown option trace_protocol
显示一条消息。此修复可确保显示正确的ERROR: 1045 (28000): Access denied for user错误。(缺陷 #25071433,缺陷 #83759)如果指定了不存在的证书颁发机构文件, mysqlsh 不会报告任何错误。(漏洞#25467491)
如果服务器证书已过期,MySQL Shell 不会产生任何错误或警告。(缺陷号 25467433)
在 MySQL Shell 中建立 SSL 连接时,SSL 模式作为字符串而不是整数值传递。(漏洞#25425598)
MySQL Shell 对使用 SSL 连接到 MySQL 的支持不完整或在某些情况下无法正常运行。MySQL Shell 现在可以正确应用 SSL 参数。有关受支持的 SSL 参数,请参阅mysqlsh — The MySQL Shell。(错误#25411425,错误#84546)
用于连接到实例的 SSL 选项未传递给
mysqlprovision
,这也需要 SSL 选项才能连接到实例。(缺陷号 25366109)rejoinInstance()
没有使用mysqlprovision
,导致将实例加入副本集的操作不一致。(漏洞 #25269142,漏洞 #84240)MySQL Shell 可能会在
addInstance()
给定特定memberSslCa
值期间退出。(错误#25229928,错误#84146)在 SQL 模式下以交互方式执行长的多行 SQL 查询会引发错误。(缺陷号 25229928)
重复执行
addInstance()
导致使用 SSL 进行组复制,尽管 SSL 已被禁用memberSsl=false
。(漏洞 #25226295,漏洞 #84131)使用 Python 模式时,分配被标识为类型的关键元素可能会导致意外停止。此修复可确保字符串键被正确识别为被解释为键。(漏洞 #25191539)
-
未执行的语句(例如由于语法错误)不会添加到命令历史记录中。这已得到改进,因此任何语句都可以添加到命令历史记录中,并且可以使用向上和向下光标键进行访问。此外,内部 MySQL Shell 现在已添加到命令历史记录中。(缺陷号 24967864)
参考资料:另请参阅:Bug #24669771。
-
当 MySQL Shell 有一个打开的连接并处于 SQL 模式时,按Control-C会导致意外停止。(漏洞 #24812731)
参考资料:另请参阅:Bug #24663772、Bug #23065126。
命令的输出
\help
已更新为包括所有可用的全局对象。(漏洞#24764191)使用该
shell.prompt()
函数时,提供无效类型不会生成相应的错误。(漏洞 #24763825)改进了 MySQL Shell 处理命令的方式以正确处理命令行中的空格,并在使用空格时添加了对带引号的参数的支持。要传递带空格的参数,用双引号将其括起来,如果双引号是参数的一部分,则可以使用 \" 对它们进行转义。(缺陷 #24762017)
将
cluster.rejoinInstance
旧节点添加到新集群的操作导致 MySQL Shell 退出。(漏洞#24760911)原始数字类型和布尔值不会按照 Python 类型转换规则在彼此之间自动转换。该修复程序可确保诸如 之类的语句
dba.verbose=1
有效,换言之,当a == b
为真时,b
可分配给a
Python 中的典型语句。(漏洞 #24744707)使用
--log-level=5
或更大的密码以纯文本形式写入日志。(缺陷号 24735878)命令选项现在
--log-level
可以使用命名的日志级别,例如debug3
. (漏洞 #24735532)在 JavaScript 模式下,在重复调用之间切换元数据连接
cluster.dissolve()
返回拒绝访问错误消息,而不是报告集群已解散。(漏洞#24674064)为经典和节点会话添加了使用密码过期的帐户通过 MySQL Shell 连接到服务器的支持。现在,当使用过期的密码连接并尝试执行操作时,会返回一条消息,指出您必须
ALTER USER
在执行语句之前使用重置密码。(漏洞#24673742)当 SQL 语句跟在以它结尾的 SQL 注释的终止字符之后时
*/
,可能会导致意外行为,因为注释后面的语句的第一个字符被忽略了。此修复可确保正确解析 SQL 语句中的内联注释。(漏洞#24671436)cluster.status()
并且cluster.describe()
可能会根据元数据会话连接提供有关集群的不完整或不正确的信息。(漏洞 #24621357)使用该
--json
选项时的结果输出现在进入 JSON 对象内部。(漏洞 #24575611)传递节点时
cluster.rejoinInstance()
,连续错误打印了多条密码提示,无需输入密码。(漏洞#24573793)使用帮助时,行尾的空格字符导致找不到请求的帮助主题。(漏洞#24522689)
使用 SQL 模式时,转义中单引号的使用与 MySQL 中的处理一致,例如
SELECT '''' as a;
. (漏洞 #24380669,漏洞 #82381)的帮助
XSession
是建议 SQL 模式可用,这是不正确的。(漏洞 #23065163)使用 SQL 模式时,命令历史记录从先前发出的行的末尾删除分号(错误 #21390737)
在 Windows 上,值中不能使用 反斜杠字符 ( “
\
”memberSslCa
) 。(漏洞 #84148,漏洞 #25230238)关闭以 Python 模式启动的 MySQL Shell 实例时发生无效读取。(漏洞 #83867,漏洞 #25111564)