Description:
While upgrading to 8.0 I am using unsupported replication 8.0->5.7 on few nodes. I changed default_collation_for_utf8mb4 to utf8mb4_general_ci everywhere, no client, table, or stored routine uses collation utf8mb4_0900_ai_ci.
However, if I have stored routines in my database, I get records like
SET @@session.character_set_client=255,@@session.collation_connection=45,@@session.collation_server=45/*!*/;
in my binary log. These records make 5.7 server fail.
How to repeat:
Run attached test case, get:
...
INSERT INTO foo_implicit VALUES(DEFAULT, 'юра');
create procedure call_t1()
begin
select * from t1;
end
|
SET @@session.character_set_client=45,@@session.collation_connection=45,@@session.collation_server=45/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
/*!80011 SET @@session.default_collation_for_utf8mb4=45*//*!*/;
SET @@session.character_set_client=255,@@session.collation_connection=45,@@session.collation_server=45/*!*/;
SET @@session.character_set_client=45,@@session.collation_connection=45,@@session.collation_server=45/*!*/;
SET @@session.character_set_client=255,@@session.collation_connection=45,@@session.collation_server=45/*!*/;
DROP TABLE foo_implicit;
DROP DATABASE foo_db;
Suggested fix:
Do not print @@session.character_set_client=255 for environment that uses utf8mb4_general_ci only.