要使用 MySQL 5.7 作为文档存储,需要安装 X Plugin。然后就可以使用 X Protocol 与服务器通信了。如果没有运行 X 插件,X 协议客户端将无法连接到服务器。X 插件随 MySQL(5.7.12 或更高版本)一起提供——安装它不需要单独下载。本节介绍如何安装 X Plugin。
请按照此处概述的步骤操作:
安装或升级到 MySQL 5.7.12 或更高版本。
安装或升级 完成后,启动服务器。有关服务器启动说明,请参阅第 2.10.2 节 “启动服务器”。
笔记MySQL Installer 使您能够同时执行此步骤和下一步(安装 X 插件)以在 Microsoft Windows 上进行新安装。在插件和扩展屏幕中,选中启用 X 协议/MySQL 作为文档存储复选框。安装后,验证是否已安装 X Plugin。
安装 X 插件。非 root 帐户可以用于安装插件,只要该帐户表
INSERT
权限mysql.plugin
在重新配置服务器之前始终保存现有的配置设置。
要安装内置 X 插件,请执行以下操作之一:
-
为 Windows 启动 MySQL 安装程序。MySQL 安装程序仪表板打开。
单击 MySQL 服务器的重新配置快速操作。使用Next和 Back配置以下项目:
在Accounts and Roles中,确认当前
root
帐户密码。在Plugin and Extensions中,勾选Enable X Protocol/MySQL as a Document Store复选框。MySQL Installer 提供一个默认的端口号,并打开防火墙端口进行网络访问。
在“应用服务器配置”中,单击“执行” 。
单击“完成”关闭 MySQL 安装程序。
使用 MySQL 外壳:
打开终端窗口(Windows 上的命令提示符)并导航到 MySQL 二进制文件位置(例如,
/usr/bin/
在 Linux 上)。运行以下命令:
mysqlsh -u user -h localhost --classic --dba enableXProtocol
使用 MySQL 客户端程序:
打开终端窗口(Windows 上的命令提示符)并导航到 MySQL 二进制文件位置(例如,
/usr/bin/
在 Linux 上)。调用mysql命令行客户端:
mysql -u user -p
发出以下声明:
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 在服务器更新后运行。.
-
验证是否已安装 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 用户。