在 Python 版本低于 2.7 的服务器上执行 AdminAPI 命令失败,没有正确的错误消息。(缺陷号 25975317)
dba.createSandboxInstance()
在 Windows 上使用 MySQL Shell 时,无法删除 任何创建或打开的文件,例如在 期间使用的 文件。(缺陷号 25789094)改进了帮助
dba.configureLocalInstance(instance[, options])
以描述返回的 JSON 对象。(缺陷号 25703028)使用
dba.deploySandboxInstance()
和传入时sandboxDir
,指定的路径不得超过89个字符。(缺陷号 25485035)removeInstance()
在某些情况下会导致意外行为,例如,当将空密码作为 URI 的一部分传递给实例时。(漏洞 #25111911)-
创建使用 Unix 套接字连接的经典会话现在使用正确的默认值,例如主机名。这解决了以前使用 Unix 套接字连接到 InnoDB 集群实例的限制。 有关如何将默认设置应用于套接字连接的信息,请参阅MySQL Shell连接。(错误#24848763,错误#26036466)
参考资料:另请参阅:Bug #24911068。
在配置为多线程副本的实例上,换句话说
slave_parallel_workers
设置为大于 0,并且slave_parallel_type=DATABASE
没有dba.checkInstanceConfiguration()
检测到该实例没有正确配置 InnoDB 集群使用。如果
removeInstance()
由于连接错误而失败,则会报告错误,但实例会错误地从 InnoDB 集群元数据中删除,并且仍然是复制组的一部分。该修复确保元数据根据removeInstance
() 的结果正确更新。在选择新的主实例的情况下,向集群添加新实例会由于与先前主实例的连接失败而导致错误。
修改服务器变量的函数,例如
dba.createCluster()
和dba.validateInstance()
现在在交互模式输出和日志输出中提供了有关执行时更改的服务器变量的更多信息。将实例部署到包含空格的目录的路径失败且没有错误。使用双反斜杠指定此类路径,例如
D:\\Cluster\\foo bar
.-
一旦创建该对象的 Shell 会话连接到不同的服务器,从
dba.createCluster()
或 等函数获得的 Cluster 对象将 变得不可用。dba.getCluster()
该修复修改了 Cluster 对象,以便:Cluster 对象持有对创建或检索它的 Session 的内部引用。
修改集群的 AdminAPI 函数是使用对象引用的会话创建的。
调用不带参数的
modify()
orremove()
函数会导致对整个集合执行该函数,这可能会导致意外结果,例如删除表中的所有行。为了避免这种情况并使行为与update()
and一致,如果在没有参数的情况下调用or 函数,delete()
现在会抛出客户端异常 。现在,要对集合执行 or 函数,请使用计算结果为 的表达式调用它们,例如 or 。modify()
remove()
modify()
remove()
true
remove('true')
modify('true')
MySQL Shell 选项字典中的选项现在已完整记录。(漏洞 #25701345)
-
shell.connect()
如果使用了无效参数,则不会报告错误。ArgumentError
现在为任何无效参数发出一个 。现在检查以下互斥的选项对,如果同时指定,则会发出错误:
--password
和--dbPassword
--user
和--dbUser
(缺陷号 25268670)
参考资料:另请参阅:Bug #24911173。
一些与输出有关的问题
shell.help("prompt")
已得到纠正。(错误#25026855、错误#25242638、错误#25676343、错误#25176769)MySQL Shell 现在将无效年份显示为
0000
,匹配 MySQL 提示符的行为,而不是0
。(漏洞 #24912061)MySQL Shell 不显示 DATETIME 列中值的小数秒。(漏洞#24911885)
修复了 MySQL Shell 命令行帮助输出的一些问题。(错误#24841749、错误#24841493、错误#24910540)
当密码被隐藏时,URI 在 MySQL Shell 中被错误地解析。(漏洞#24793956)
\source
如果给命令一个目录(而不是文件)参数, mysqlsh 将停止响应 (缺陷 #23097932,缺陷 #81060)