Description:
mysql> select info, "🔥" from information_schema.processlist; +------------------------------------------------------+------+
| info | ? |
+------------------------------------------------------+------+
| select info, "?" from information_schema.processlist | 🔥 |
+------------------------------------------------------+------+
1 row in set, 1 warning (0,00 sec)
Warning (Code 1366): Incorrect string value: '\xF0\x9F\x94\xA5" ...' for column 'INFO' at row 1
If you want to store the result of this query in a table, you get into bigger problems since this causes an error. For an example, see: https://stackoverflow.com/questions/45549840/trouble-inserting-4-byte-utf-8-characters-emo...
The problem seem to be even worse for the corresponding performance_schema table:
mysql> select sql_text, "🔥" from performance_schema.events_statements_current;
+--------------------+------+
| sql_text | ? |
+--------------------+------+
| select sql_text, " | 🔥 |
+--------------------+------+
1 row in set, 1 warning (0,00 sec)
Warning (Code 1366): Incorrect string value: '\xF0\x9F\x94\xA5" ...' for column 'SQL_TEXT' at row 1
Here the text after the violating character is missing.
How to repeat:
select info, "🔥" from information_schema.processlist;
select sql_text, "🔥" from performance_schema.events_statements_current;
Suggested fix:
Make sure to store query strings in the character set that is defined for the information_schema/performance_schema columns.
Change character set for such columns to utf8mb4 for 8.0 to avoid increasing number of issues. (Since utf8mb4 is default character set in 8.0)