19.2 将 MySQL 设置为文档存储

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

请遵循此处概述的步骤:

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

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

Note

MySQL Installer 使您可以同时执行此步骤和下一步(安装 X 插件),以在 Microsoft Windows 上进行新安装。在“插件和扩展程序”屏幕中,选中“启用 X 协议/ MySQL 作为文档存储”复选框。安装后,请确认已安装 X 插件。

  • 安装 X 插件. 只要该帐户对mysql.plugintable 具有INSERT特权,就可以使用非 root 用户帐户来安装插件。

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

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

  • Using 适用于 Windows 的 MySQL Installer:

  • 启动适用于 Windows 的 MySQL Installer。 MySQL Installer 仪 table 板打开。

    • 单击“重新配置 MySQL 服务器”快速操作。使用“下一步”和“返回”来配置以下各项:
  • 在“帐户和角色”中,确认当前的root帐户密码。

    • 在“插件和扩展”中,选中“启用 X 协议/ MySQL 作为文档存储”复选框。 MySQL Installer 提供一个默认端口号,并打开防火墙端口以进行网络访问。

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

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

    • 安装 MySQL Shell.

  • 使用 MySQL Shell:

  • 安装 MySQL Shell.

    • 打开一个终端窗口(在 Windows 上为命令提示符),然后导航至 MySQL 二进制文件位置(例如,在 Linux 上为/usr/bin/)。

    • 运行以下命令:

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

  • 打开一个终端窗口(在 Windows 上为命令提示符),然后导航至 MySQL 二进制文件位置(例如,在 Linux 上为/usr/bin/)。

    • 调用mysql命令行 Client 端:
mysql -u user -p
  • 发出以下语句:
mysql> INSTALL PLUGIN mysqlx SONAME 'mysqlx.so';

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

Important

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

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

  • MySQL Shell 命令:
mysqlsh -u user --sqlc -e "show plugins"
  • MySQLClient 端程序命令:
mysql -u user -p -e "show plugins"

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

mysqlxsys @ localhost 用户帐户

安装 X 插件会创建一个mysqlxsys@localhost用户帐户。如果由于某种原因创建用户帐户失败,则 X 插件安装也会失败。这是有关mysqlxsys@localhost用户帐户的用途以及创建失败时的处理方法的说明。

X 插件安装过程使用 MySQL root用户为mysqlxsys@localhost用户创建内部帐户。 X 插件使用mysqlxsys@localhost帐户针对 MySQL 帐户系统对外部用户进行身份验证,并在特权用户请求时终止会话。 mysqlxsys@localhost帐户被创建为锁定帐户,因此外部用户无法使用该帐户登录。如果由于某种原因 MySQL root帐户不可用,那么在开始 X 插件安装之前,必须通过在mysql命令行 Client 端中发出以下语句来手动创建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命令行 Client 端中发出以下语句:

UNINSTALL PLUGIN mysqlx;

不要使用 MySQL Shell 发出前一条语句。它可以从 MySQL Shell 运行,但是会出现错误(代码 1130)。另外,卸载插件也会删除 mysqlxsys 用户。