Bug #101836 Illegal mix of collations message when retrieving InnoDB Cluster Status
Submitted: 2 Dec 2020 15:30 Modified: 2 Dec 2020 16:23
Reporter: A C Email Updates:
Status: Not a Bug Impact on me:
Category:MySQL Server Severity:S3 (Non-critical)
Version:8.0.21 OS:Ubuntu (20.04)
Assigned to: MySQL Verification Team CPU Architecture:x86

[2 Dec 2020 15:30] A C
Using 8.0.21 Router & Shell for couple of months now. Came to observe the cluster today using "var cluster = dba.getCluster()" and the following is returned:

verbose: 2020-12-02T15:22:54Z: Instance type check: cgsdbl001:3306: GR is active
verbose: 2020-12-02T15:22:54Z: error: Error while verifying all members in InnoDB Cluster are ONLINE: Illegal mix of collations (ascii_general_ci,IMPLICIT) and (utf8_general_ci,SYSCONST) for operation '='
Dba.getCluster: Illegal mix of collations (ascii_general_ci,IMPLICIT) and (utf8_general_ci,SYSCONST) for operation '=' (RuntimeError)

I found the same bug reported [101657] but was found to be a version mismatch.

How to repeat:
1. Using mysql-shell connect to a cluster instance

\connect user@server

2. Try to get the cluster status

var cluster = dba.getCluster("ProdCluster");

"Dba.getCluster: Illegal mix of collations (ascii_general_ci,IMPLICIT) and (utf8_general_ci,SYSCONST) for operation '=' (RuntimeError)"
[2 Dec 2020 15:41] A C
I neglected to add, the offending SQL command is the same as the previous bug.

SELECT (SELECT COUNT(*) FROM `mysql_innodb_cluster_metadata`.instances WHERE cluster_id = (SELECT cluster_id FROM `mysql_innodb_cluster_metadata`.instances WHERE mysql_server_uuid=@@server_uuid)) = (SELECT count(*) FROM performance_schema.replication_group_members WHERE member_state = 'ONLINE') as all_online
[2 Dec 2020 16:23] A C
I take it back.

mysql -V returned 8.0.21, however mysqld --version returned 8.0.22. Upgrading the management shell did the trick. My apologies.
[2 Dec 2020 18:16] MySQL Verification Team
thanks for the update 

all best