Documentation Home
MySQL 连接器/ODBC 发行说明  / MySQL 连接器/ODBC 版本 8.0 中的更改  /  MySQL Connector/Node.js 8.0.7 的变化(2017-07-10,发展里程碑)

MySQL Connector/Node.js 8.0.7 的变化(2017-07-10,发展里程碑)

MySQL 连接器和其他 MySQL 客户端工具和应用程序现在将其版本号的第一位数字与其支持的(最高)MySQL 服务器版本同步。此更改使得决定将哪个客户端版本用于哪个服务器版本变得简单直观。

Connector/Node.js 8.0.7 是第一个使用新编号的版本。它是 Connector/Node.js 1.0.6 的继承者。

添加或更改的功能

  • 方法Collection.modify()Collection.remove()不再接受空搜索条件,例如NULL或空字符串。

  • 对放置对象的方法进行了一些更改。此处列出了这些更改:

    • Drop 方法现在可以在与相应的 create 方法相同的级别上使用。例如, dropCollection()dropTable()方法已从XSession类中移除(现在已合并到Session类中)并移动到Schema类下;在同样的原则下,该drop()方法已从CollectionTable类中删除。

    • 即使要删除的对象不存在,删除方法现在也会成功。

    • dropView()现在是异步的,其行为dropTable()dropCollection()隐式执行 drop 操作并返回保存结果的承诺完全相同。

  • 添加了一个配置处理程序接口, mysqlx.config用于管理持久会话配置。有关详细信息,请参阅 带有 X DevAPI的 MySQL Connector/Node.js。

  • 对与 MySQL 服务器的加密连接进行了以下更改:

    • 连接现在默认加密。

    • 连接选项ssl-enable已替换为ssl-mode具有DISABLED, REQUIRED (默认值)和VERIFY_CA作为其允许值的选项。

    • 使用该ssl-crl选项需要使用 thessl-ca和 that ssl-mode=VERIFY_CA;这是由于 Node.js 核心平台的内部要求。

  • BaseSession, NodeSession, 并XSession已合并为一个Session类。还进行了以下相关更改:

    • mysqlx.getNodeSession()方法被重命名为getSession并返回一个 Session对象。

    • DatabaseObject.getSession()现在返回一个 Session对象。

  • 实现了新的客户端故障转移功能,这样在创建新连接时,现在可以在连接字符串中指定多个主机;Connector/Node.js 会尝试每个主机,直到成功建立连接或尝试所有主机。有关详细信息, 请参阅 教程:入门

  • Connector/Node.js 现在支持使用 Unix 套接字连接到本地服务器。有关详细信息,请参阅 教程:入门

  • 将文档添加到集合时生成的文档 ID 值的格式已更改。它仍然是基于 UUID 的 32 位十六进制数字的字符串,但数字的顺序已更改以匹配稳定 ID 前缀的要求。

修正错误

  • 无法使用 PLAIN 身份验证机制为具有 SHA256 密码的用户创建新会话。(漏洞#26117627)

  • 大型 JSON 数组的处理存在问题,并导致抛出异常。(缺陷号 26084604)

  • 从集合中删除文档时尝试使用bind会引发异常。(漏洞 #26029551)

  • Table.update()不需要 SearchConditionStr参数;不包括此参数可能会导致删除给定表中的所有行。如果 SearchConditionStr为空或未定义,现在会抛出客户端异常。(漏洞#25993174)

  • Table.delete()不需要 SearchConditionStr参数;不包括此参数可能会导致删除给定表中的所有行。如果 SearchConditionStr为空或未定义,现在会抛出客户端异常。(漏洞 #25992969)