From our upgrade logs:
- Usage of utf8mb3 charset
Warning: The following objects use the utf8mb3 character set. It is
recommended to convert them to use utf8mb4 instead, for improved Unicode
support.
More information:
https://dev.mysql.com/doc/refman/8.0/en/charset-unicode-utf8mb3.html
SCHEMA1 - schema’s default character set: utf8
SCHEMA2 - schema’s default character set: utf8
SCHEMA3 - schema’s default character set: utf8
…
SCHEMA1.table1.column1 - column’s default character set:utf8
SCHEMA1.table1.column2 - column’s default character set:utf8
SCHEMA1.table1.column3 - column’s default character set: utf8
What is the most efficient way to resolve this? Should we update at the schema level or the table level (Please provide example SQL statements)?
When we do update the charsets of schemas/tables does this mean the charsets are now a mix of utf8mb3 and utf8mb4 (the newer records being mb4)? Or, on updating a table or schema does all data get updated to mb4? When we convert a table what impact does this have on the DB, is this something we need downtime for? Also, what impact might this have on the applications reading/writing might they be incompatible with the newer character set?
What about other character sets such as latin1?
Any help is appreciated.
Thanks.