MySQL Shell 1.0 发行说明  /  MySQL Shell 1.0.8 的变化(2017-03-06,发布候选)

MySQL Shell 1.0.8 的变化(2017-03-06,发布候选)

修复了 InnoDB 集群错误

  • 可以从删除的实例重新启动集群。(缺陷 #84766,缺陷 #25480022)

添加或更改的功能

  • X DevAPI: 在 MySQL Shell Python X DevAPI 实现中, mysqlxmysql模块已移至新mysqlsh模块中。这改变了你导入模块的方式,现在你应该发出:

    mysql-py> from mysqlsh import mysql
    mysql-py> from mysqlsh import mysqlx

    (缺陷号 25030138)

  • X DevAPI: XSessions 已被移除,这意味着 --x命令选项被移除。默认会话现在是 NodeSession。该 mysqlx.getSession()功能也被删除,\connectMySQL 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可分配给aPython 中的典型语句。(漏洞 #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)