Missing global privileges: GRANT OPTION|InnoDB cluster错误

ERROR: The account 'root'@'' is missing privileges required to manage an InnoDB cluster:

Example

MySQL JS > dba.configureInstance('root@node2:3306', {clusterAdmin: "'icadmin'@'node2%'", clusterAdminPassword: 'password'});
Configuring local MySQL instance listening at port 3306 for use in an InnoDB cluster...
ERROR: The account 'root'@'192.168.159.130' is missing privileges required to manage an InnoDB cluster:
Missing global privileges: GRANT OPTION.
For more information, see the online documentation.
Dba.configureInstance: The account 'root'@'192.168.159.130' is missing privileges required to manage an InnoDB cluster. (RuntimeError)

Solved

dba.configureInstance('root@localhost:3306', {clusterAdmin: "'icadmin'@'node2%'", clusterAdminPassword: 'password'});
GRANT REPLICATION SLAVE ON *.* to icadmin;

check

dba.checkInstanceConfiguration('icadmin@node2:3306')

或者

GRANT SELECT ON mysql_innodb_cluster_metadata.* TO your_user@'%';
GRANT SELECT ON performance_schema.global_status TO your_user@'%';
GRANT SELECT ON performance_schema.replication_applier_configuration TO your_user@'%';
GRANT SELECT ON performance_schema.replication_applier_status TO your_user@'%';
GRANT SELECT ON performance_schema.replication_applier_status_by_coordinator TO your_user@'%';
GRANT SELECT ON performance_schema.replication_applier_status_by_worker TO your_user@'%';
GRANT SELECT ON performance_schema.replication_connection_configuration TO your_user@'%';
GRANT SELECT ON performance_schema.replication_connection_status TO your_user@'%';
GRANT SELECT ON performance_schema.replication_group_member_stats TO your_user@'%';
GRANT SELECT ON performance_schema.replication_group_members TO your_user@'%';
GRANT SELECT ON performance_schema.threads TO your_user@'%' WITH GRANT OPTION;
GRANT REPLICATION SLAVE ON *.* to your_user;