Áú»¢¶Ä²©

2 ????? ???? ????? ?????? ???? ??????? ?? Áú»¢¶Ä²©

MySQL/MariaDB

?????? ????????, MySQL ??????? ?????? ?-'utf8' ?????? ?-utf8mb3 - ????? 3-???? ?? MySQL ?? UTF8 ????????, ???? 4-????. ??? ?-MySQL 8.0.28 ?-MariaDB 10.6.1, ???? ?????? 'utf8mb3' ??? ???? ?????? ????? ????? ?????? ?? ????? ???? 'utf8' ????? ?????? ?-'utf8mb4'. ??? Áú»¢¶Ä²© 6.0, 'utf8mb4' ????. ??? ????? ????? ???????, ?? ?? ????? ???? ?????? ?-'utf8mb4'. ????? ???? ????? ?-'utf8mb4' ??? ????? ???????? ????? ??????.

::: ???? ????? ?????? ??????? ???? Áú»¢¶Ä²© 6.0 ???? ?????? ?-utf8mb4, ???? ????? ????? ??? Áú»¢¶Ä²© ????? DB ?-6.0.x ???? ????? ???? utf8mb4. :::

1. ???? ?? ???? ?????? ?? ??? ??????? ???????.

??????:

 mysql> SELECT @@character_set_database, @@collation_database;
        +------------------------+---------------------- +
        | @@character_set_database | @@collation_database |
        +------------------------+---------------------- +
        | ??????2 | latin2 _general_ci |
        +------------------------+---------------------- +

???:

 mysql> SELECT @@character_set_database, @@collation_database;
        +------------------------+---------------------- +
        | @@character_set_database | @@collation_database |
        +------------------------+---------------------- +
        | utf8 | utf8_bin |
        +------------------------+---------------------- +

??? ???? ?????, ???? ?????? ??? ???? 'utf8mb4' ??????? ?? 'utf8mb4_bin', ?? ????? ?????? ???? ????.

2. ???? ?? ??????.

3. ??? ???? ????? ?? ??? ???????!

4. ??? ?? ???? ?????? ??????? ???? ??? ???????:

 ????? ?? ??? ??????? <?? ?-DB ???> ???? ????? utf8mb4 collate utf8mb4_bin;

????? ??????:

 mysql> SELECT @@character_set_database, @@collation_database;
        +------------------------+---------------------- +
        | @@character_set_database | @@collation_database |
        +------------------------+---------------------- +
        | utf8mb4 | utf8mb4_bin |
        +------------------------+---------------------- +

5. ??? ?? script ??? ???? ???? ????? ?????? ???? ????? ???????:

 mysql <?? ?-DB ???> < utf8mb4_convert.sql

6. ??? ?? ???????:

                SET @ZABBIX_DATABASE = '<?? ?-DB ???>';
        ?? MariaDB ¡ú ???? innodb_strict_mode = OFF;
                       ????? ?-zbx_convert_utf8();
        ?? MariaDB ¡ú ???? innodb_strict_mode = ON;
                       ???? ????? zbx_convert_utf8;

??? ?? ?-'utf8mb4' ???? ????? ??? ???? ??? ????.

7. ?? ??? ?????? - ????? ????? ???? ????? ?? ??? ?????? ?? ??? ??????? ?????.

8. ???? ?? Áú»¢¶Ä²©.