MySQL要安装内置的X Plugin,有以下三种方式:
.使用MySQL Windows安装程序
a.启动MySQL安装程序。MySQL安装程序仪表板打开。
b.单击MySQL Server的Reconfigure快速操作。使用“下一步”和“返回”配置以下内容:
.在“帐户和角色”中确认当前root帐户的密码。
.在“插件和扩展”中,勾选“启用X协议/MySQL作为文档存储”复选框。MySQL安装程序提供一个默认端口号,并打开防火墙端口供网络访问。
.在“应用服务器配置”中单击“执行”。
c.安装MySQL Shell。
.使用MySQL Shell
a.安装MySQL Shell
[root@localhost ~]# rpm -ivh mysql-shell-8.0.41-1.el7.x86_64.rpm
b.打开终端窗口(Windows上的命令提示符),导航到MySQL二进制文件位置(例如,Linux上的/usr/bin/)。
c.执行如下命令:
[root@localhost ~]# mysqlsh -u root -h 10.18.10.20 -P 3306 --classic --dba enableXProtocol WARNING: The --classic option was deprecated, please use --mysql instead. (Option has been processed as --mysql). Please provide the password for 'root@10.18.10.20:3306': ****** Save password for 'root@10.18.10.20 :3306'? [Y]es/[N]o/Ne[v]er (default No): N enableXProtocol: Installing plugin mysqlx... enableXProtocol: Verifying plugin is active... enableXProtocol: successfully installed the X protocol plugin! [root@localhost ~]# netstat -ltnp Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:24903 0.0.0.0:* LISTEN 30883/mysqld tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 8407/mysqld tcp 0 0 0.0.0.0:3307 0.0.0.0:* LISTEN 8444/mysqld tcp 0 0 0.0.0.0:3308 0.0.0.0:* LISTEN 30883/mysqld tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1584/sshd tcp 0 0 0.0.0.0:24901 0.0.0.0:* LISTEN 8407/mysqld tcp 0 0 0.0.0.0:24902 0.0.0.0:* LISTEN 8444/mysqld tcp6 0 0 :::22 :::* LISTEN 1584/sshd tcp6 0 0 :::33060 :::* LISTEN 8407/mysqld
33060端口就是X插件所占用的端口。
.使用MySQL客户端程序:
a.打开终端窗口(Windows上的命令提示符),导航到MySQL二进制文件位置(例如,Linux上的/usr/bin/)。
b.调用mysql命令行客户端:
[root@localhost ~]# mysql -uroot -p123456 mysql: [Warning] Using a password on the command line interface can be insecure. Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 45 Server version: 5.7.26-log Source distribution Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
c.执行以下语句:
mysql> INSTALL PLUGIN mysqlx SONAME 'mysqlx.so'; Query OK, 0 rows affected (0.14 sec) mysql> [mysql@localhost mysql]$ netstat -ltnp (No info could be read for "-p": geteuid()=27 but you should be root.) Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN - tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN - tcp6 0 0 :::3306 :::* LISTEN - tcp6 0 0 :::22 :::* LISTEN - tcp6 0 0 ::1:631 :::* LISTEN - tcp6 0 0 :::33060 :::* LISTEN -
33060端口就是X插件所占用的端口。
d.安装MySQL Shell。
[root@localhost ~]# rpm -ivh mysql-shell-8.0.41-1.el7.x86_64.rpm
3.验证X Plugin是否已经安装。
当X Plugin安装正确时,当您使用以下命令之一查询服务器上的活动插件时,它会显示在列表中:
.MySQL Shell命令:
[root@localhost ~]# mysqlsh -u root -h 10.18.10.20 -P 3306 --sqlc -e "show plugins" Please provide the password for 'root@10.18.10.20 :3306': ****** Save password for 'root@10.18.10.20 :3306'? [Y]es/[N]o/Ne[v]er (default No): N Name Status Type Library License binlog ACTIVE STORAGE ENGINE NULL GPL mysql_native_password ACTIVE AUTHENTICATION NULL GPL sha256_password ACTIVE AUTHENTICATION NULL GPL CSV ACTIVE STORAGE ENGINE NULL GPL MEMORY ACTIVE STORAGE ENGINE NULL GPL InnoDB ACTIVE STORAGE ENGINE NULL GPL INNODB_TRX ACTIVE INFORMATION SCHEMA NULL GPL INNODB_LOCKS ACTIVE INFORMATION SCHEMA NULL GPL INNODB_LOCK_WAITS ACTIVE INFORMATION SCHEMA NULL GPL INNODB_CMP ACTIVE INFORMATION SCHEMA NULL GPL INNODB_CMP_RESET ACTIVE INFORMATION SCHEMA NULL GPL INNODB_CMPMEM ACTIVE INFORMATION SCHEMA NULL GPL INNODB_CMPMEM_RESET ACTIVE INFORMATION SCHEMA NULL GPL INNODB_CMP_PER_INDEX ACTIVE INFORMATION SCHEMA NULL GPL INNODB_CMP_PER_INDEX_RESET ACTIVE INFORMATION SCHEMA NULL GPL INNODB_BUFFER_PAGE ACTIVE INFORMATION SCHEMA NULL GPL INNODB_BUFFER_PAGE_LRU ACTIVE INFORMATION SCHEMA NULL GPL INNODB_BUFFER_POOL_STATS ACTIVE INFORMATION SCHEMA NULL GPL INNODB_TEMP_TABLE_INFO ACTIVE INFORMATION SCHEMA NULL GPL INNODB_METRICS ACTIVE INFORMATION SCHEMA NULL GPL INNODB_FT_DEFAULT_STOPWORD ACTIVE INFORMATION SCHEMA NULL GPL INNODB_FT_DELETED ACTIVE INFORMATION SCHEMA NULL GPL INNODB_FT_BEING_DELETED ACTIVE INFORMATION SCHEMA NULL GPL INNODB_FT_CONFIG ACTIVE INFORMATION SCHEMA NULL GPL INNODB_FT_INDEX_CACHE ACTIVE INFORMATION SCHEMA NULL GPL INNODB_FT_INDEX_TABLE ACTIVE INFORMATION SCHEMA NULL GPL INNODB_SYS_TABLES ACTIVE INFORMATION SCHEMA NULL GPL INNODB_SYS_TABLESTATS ACTIVE INFORMATION SCHEMA NULL GPL INNODB_SYS_INDEXES ACTIVE INFORMATION SCHEMA NULL GPL INNODB_SYS_COLUMNS ACTIVE INFORMATION SCHEMA NULL GPL INNODB_SYS_FIELDS ACTIVE INFORMATION SCHEMA NULL GPL INNODB_SYS_FOREIGN ACTIVE INFORMATION SCHEMA NULL GPL INNODB_SYS_FOREIGN_COLS ACTIVE INFORMATION SCHEMA NULL GPL INNODB_SYS_TABLESPACES ACTIVE INFORMATION SCHEMA NULL GPL INNODB_SYS_DATAFILES ACTIVE INFORMATION SCHEMA NULL GPL INNODB_SYS_VIRTUAL ACTIVE INFORMATION SCHEMA NULL GPL MyISAM ACTIVE STORAGE ENGINE NULL GPL MRG_MYISAM ACTIVE STORAGE ENGINE NULL GPL PERFORMANCE_SCHEMA ACTIVE STORAGE ENGINE NULL GPL ARCHIVE ACTIVE STORAGE ENGINE NULL GPL BLACKHOLE ACTIVE STORAGE ENGINE NULL GPL FEDERATED DISABLED STORAGE ENGINE NULL GPL partition ACTIVE STORAGE ENGINE NULL GPL ngram ACTIVE FTPARSER NULL GPL group_replication ACTIVE GROUP REPLICATION group_replication.so GPL mysqlx ACTIVE DAEMON mysqlx.so GPL
.MySQL Client程序命令:
[root@localhost ~]# mysql -h 10.18.10.20 -P 3306 -u root -p -e "show plugins" Enter password: +----------------------------+----------+--------------------+----------------------+---------+ | Name | Status | Type | Library | License | +----------------------------+----------+--------------------+----------------------+---------+ | binlog | ACTIVE | STORAGE ENGINE | NULL | GPL | | mysql_native_password | ACTIVE | AUTHENTICATION | NULL | GPL | | sha256_password | ACTIVE | AUTHENTICATION | NULL | GPL | | CSV | ACTIVE | STORAGE ENGINE | NULL | GPL | | MEMORY | ACTIVE | STORAGE ENGINE | NULL | GPL | | InnoDB | ACTIVE | STORAGE ENGINE | NULL | GPL | | INNODB_TRX | ACTIVE | INFORMATION SCHEMA | NULL | GPL | | INNODB_LOCKS | ACTIVE | INFORMATION SCHEMA | NULL | GPL | | INNODB_LOCK_WAITS | ACTIVE | INFORMATION SCHEMA | NULL | GPL | | INNODB_CMP | ACTIVE | INFORMATION SCHEMA | NULL | GPL | | INNODB_CMP_RESET | ACTIVE | INFORMATION SCHEMA | NULL | GPL | | INNODB_CMPMEM | ACTIVE | INFORMATION SCHEMA | NULL | GPL | | INNODB_CMPMEM_RESET | ACTIVE | INFORMATION SCHEMA | NULL | GPL | | INNODB_CMP_PER_INDEX | ACTIVE | INFORMATION SCHEMA | NULL | GPL | | INNODB_CMP_PER_INDEX_RESET | ACTIVE | INFORMATION SCHEMA | NULL | GPL | | INNODB_BUFFER_PAGE | ACTIVE | INFORMATION SCHEMA | NULL | GPL | | INNODB_BUFFER_PAGE_LRU | ACTIVE | INFORMATION SCHEMA | NULL | GPL | | INNODB_BUFFER_POOL_STATS | ACTIVE | INFORMATION SCHEMA | NULL | GPL | | INNODB_TEMP_TABLE_INFO | ACTIVE | INFORMATION SCHEMA | NULL | GPL | | INNODB_METRICS | ACTIVE | INFORMATION SCHEMA | NULL | GPL | | INNODB_FT_DEFAULT_STOPWORD | ACTIVE | INFORMATION SCHEMA | NULL | GPL | | INNODB_FT_DELETED | ACTIVE | INFORMATION SCHEMA | NULL | GPL | | INNODB_FT_BEING_DELETED | ACTIVE | INFORMATION SCHEMA | NULL | GPL | | INNODB_FT_CONFIG | ACTIVE | INFORMATION SCHEMA | NULL | GPL | | INNODB_FT_INDEX_CACHE | ACTIVE | INFORMATION SCHEMA | NULL | GPL | | INNODB_FT_INDEX_TABLE | ACTIVE | INFORMATION SCHEMA | NULL | GPL | | INNODB_SYS_TABLES | ACTIVE | INFORMATION SCHEMA | NULL | GPL | | INNODB_SYS_TABLESTATS | ACTIVE | INFORMATION SCHEMA | NULL | GPL | | INNODB_SYS_INDEXES | ACTIVE | INFORMATION SCHEMA | NULL | GPL | | INNODB_SYS_COLUMNS | ACTIVE | INFORMATION SCHEMA | NULL | GPL | | INNODB_SYS_FIELDS | ACTIVE | INFORMATION SCHEMA | NULL | GPL | | INNODB_SYS_FOREIGN | ACTIVE | INFORMATION SCHEMA | NULL | GPL | | INNODB_SYS_FOREIGN_COLS | ACTIVE | INFORMATION SCHEMA | NULL | GPL | | INNODB_SYS_TABLESPACES | ACTIVE | INFORMATION SCHEMA | NULL | GPL | | INNODB_SYS_DATAFILES | ACTIVE | INFORMATION SCHEMA | NULL | GPL | | INNODB_SYS_VIRTUAL | ACTIVE | INFORMATION SCHEMA | NULL | GPL | | MyISAM | ACTIVE | STORAGE ENGINE | NULL | GPL | | MRG_MYISAM | ACTIVE | STORAGE ENGINE | NULL | GPL | | PERFORMANCE_SCHEMA | ACTIVE | STORAGE ENGINE | NULL | GPL | | ARCHIVE | ACTIVE | STORAGE ENGINE | NULL | GPL | | BLACKHOLE | ACTIVE | STORAGE ENGINE | NULL | GPL | | FEDERATED | DISABLED | STORAGE ENGINE | NULL | GPL | | partition | ACTIVE | STORAGE ENGINE | NULL | GPL | | ngram | ACTIVE | FTPARSER | NULL | GPL | | group_replication | ACTIVE | GROUP REPLICATION | group_replication.so | GPL | | mysqlx | ACTIVE | DAEMON | mysqlx.so | GPL | +----------------------------+----------+--------------------+----------------------+---------+
mysqlxsys@localhost用户帐号
安装X插件会创建一个mysqlxsys@localhost用户帐户。如果由于某种原因,创建用户帐户失败,X插件安装也会失败。下面是关于 mysqlxsys@localhost用户帐户的用途以及在创建失败时该怎么办的解释。
X 插件的安装过程使用 MySQL root账户为 `mysqlxsys@localhost` 用户创建一个内部账户。`mysqlxsys@localhost` 账户由 X 插件用于外部 用户对 MySQL 账户系统的身份验证,以及在特权用户请求时终止会话。`mysqlxsys@localhost` 账户创建时处于锁定状态,因此外部用户无法 使用它登录。如果由于某种原因 MySQL root账户不可用,在启动 X 插件安装之前,您必须在 `mysql` 命令行客户端中执行以下语句手动创建 `mysqlxsys@localhost` 用户:
mysql> CREATE USER IF NOT EXISTS mysqlxsys@localhost IDENTIFIED WITH mysql_native_password AS '123456' ACCOUNT LOCK; Query OK, 0 rows affected (0.01 sec) mysql> GRANT SELECT ON mysql.user TO mysqlxsys@localhost; Query OK, 0 rows affected (0.00 sec) mysql> GRANT SUPER ON *.* TO mysqlxsys@localhost; Query OK, 0 rows affected (0.01 sec)