MySQL 8.0 参考手册  / 第 20 章使用 MySQL 作为文档存储  /  19.2 将 MySQL 设置为文档存储

19.2 将 MySQL 设置为文档存储

要使用 MySQL 5.7 作为文档存储,需要安装 X Plugin。然后就可以使用 X Protocol 与服务器通信了。如果没有运行 X 插件,X 协议客户端将无法连接到服务器。X 插件随 MySQL(5.7.12 或更高版本)一起提供——安装它不需要单独下载。本节介绍如何安装 X Plugin。

请按照此处概述的步骤操作:

  1. 安装或升级到 MySQL 5.7.12 或更高版本。

    安装或升级 完成后,启动服务器。有关服务器启动说明,请参阅第 2.10.2 节 “启动服务器”

    笔记

    MySQL Installer 使您能够同时执行此步骤和下一步(安装 X 插件)以在 Microsoft Windows 上进行新安装。在插件和扩展屏幕中,选中启用 X 协议/MySQL 作为文档存储复选框。安装后,验证是否已安装 X Plugin。

  2. 安装 X 插件。非 root 帐户可以用于安装插件,只要该帐户表 INSERT权限mysql.plugin

    在重新配置服务器之前始终保存现有的配置设置。

    要安装内置 X 插件,请执行以下操作之一:

    • 使用适用于 Windows 的 MySQL 安装程序

      1. 为 Windows 启动 MySQL 安装程序。MySQL 安装程序仪表板打开。

      2. 单击 MySQL 服务器的重新配置快速操作。使用NextBack配置以下项目:

        • Accounts and Roles中,确认当前root帐户密码。

        • Plugin and Extensions中,勾选Enable X Protocol/MySQL as a Document Store复选框。MySQL Installer 提供一个默认的端口号,并打开防火墙端口进行网络访问。

        • 在“应用服务器配置”中,单击“执行” 。

        • 单击“完成”关闭 MySQL 安装程序。

      3. 安装 MySQL 外壳

    • 使用 MySQL 外壳:

      1. 安装 MySQL 外壳

      2. 打开终端窗口(Windows 上的命令提示符)并导航到 MySQL 二进制文件位置(例如, /usr/bin/在 Linux 上)。

      3. 运行以下命令:

        mysqlsh -u user -h localhost --classic --dba enableXProtocol
    • 使用 MySQL 客户端程序:

      1. 打开终端窗口(Windows 上的命令提示符)并导航到 MySQL 二进制文件位置(例如, /usr/bin/在 Linux 上)。

      2. 调用mysql命令行客户端:

        mysql -u user -p
      3. 发出以下声明:

        mysql> INSTALL PLUGIN mysqlx SONAME 'mysqlx.so';

        对于 Windows, 替换mysqlx.so为 。mysqlx.dll

        重要的

        mysql.session用户必须存在才能加载 X 插件 。mysql.session是在 MySQL 5.7.19 版本中添加的。如果你的数据字典是使用早期版本初始化的,你必须运行 mysql_upgrade过程。如果未运行升级,X 插件将无法启动并显示错误消息尝试使用用户访问服务器时出错:mysql.session@localhost。确保用户存在于服务器中并且 mysql_upgrade 在服务器更新后运行。.

      4. 安装 MySQL 外壳

  3. 验证是否已安装 X 插件。

    正确安装 X 插件后,当您使用以下命令之一查询服务器上的活动插件时,它会显示在列表中:

    • MySQL 外壳命令:

      mysqlsh -u user --sqlc -e "show plugins"
    • MySQL客户端程序命令:

      mysql -u user -p -e "show plugins"

    如果您在安装 X 插件时遇到问题,或者如果您想了解安装、配置或卸载服务器插件的替代方法,请参阅 第 5.5.1 节,“安装和卸载插件”

mysqlxsys@localhost用户帐号

安装 X 插件会创建一个 mysqlxsys@localhost用户帐户。如果出于某种原因,创建用户帐户失败,则 X 插件安装也会失败。这里解释了 mysqlxsys@localhost用户帐户的用途以及创建失败时的操作。

X Plugin安装过程使用MySQL root用户为用户创建一个内部账户 mysqlxsys@localhost。X 插件使用该 mysqlxsys@localhost帐户根据 MySQL 帐户系统对外部用户进行身份验证,并在特权用户请求时终止会话。该mysqlxsys@localhost帐户创建为锁定状态,因此不能用于外部用户登录。如果出于某种原因 MySQLroot帐户不可用,则在开始 X 插件安装之前,您必须通过在mysql 命令行客户端 mysqlxsys@localhost中发出以下语句来手动创建用户:

CREATE USER IF NOT EXISTS mysqlxsys@localhost IDENTIFIED WITH
mysql_native_password AS 'password' ACCOUNT LOCK;
GRANT SELECT ON mysql.user TO mysqlxsys@localhost;
GRANT SUPER ON *.* TO mysqlxsys@localhost;

卸载 X 插件

如果您想卸载(停用)X 插件,请在mysql命令行客户端中发出以下语句:

UNINSTALL PLUGIN mysqlx;

不要使用 MySQL Shell 发出前面的语句。它在 MySQL Shell 中运行,但出现错误(代码 1130)。此外,卸载插件会删除 mysqlxsys 用户。