מבחינה היסטורית, MySQL ונגזרות השתמשו ב-'utf8' ככינוי ל-utf8mb3 - יישום 3-בתים של MySQL של UTF8 הסטנדרטי, שהוא 4-בתים. החל מ-MySQL 8.0.28 ו-MariaDB 10.6.1, ערכת התווים 'utf8mb3' היא הוצא משימוש ובשלב מסוים התמיכה בו תבוטל בעוד 'utf8' להפוך להפניה ל-'utf8mb4'. מאז Zabbix 6.0, 'utf8mb4' נתמך. כדי למנוע בעיות עתידיות, זה כן מומלץ מאוד להשתמש ב-'utf8mb4'. יתרון נוסף במעבר ל-'utf8mb4' הוא תמיכה ביוניקוד משלים דמויות.
::: הערה אזהרה מכיוון שגרסאות לפני Zabbix 6.0 אינן מודעות ל-utf8mb4, הקפד לשדרג תחילה שרת Zabbix וסכמת 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. תקן את ערכת התווים והאיסוף ברמת מסד הנתונים:
ערכים קבועים:
mysql> SELECT @@character_set_database, @@collation_database;
+------------------------+---------------------- +
| @@character_set_database | @@collation_database |
+------------------------+---------------------- +
| utf8mb4 | utf8mb4_bin |
+------------------------+---------------------- +
5. טען את script כדי לתקן ערכת תווים ואיסוף ברמת הטבלה והעמודה:
6. בצע את הסקריפט:
SET @ZABBIX_DATABASE = '<שם ה-DB שלך>';
אם MariaDB → הגדר innodb_strict_mode = OFF;
התקשר ל-zbx_convert_utf8();
אם MariaDB → הגדר innodb_strict_mode = ON;
הליך שחרור zbx_convert_utf8;
שים לב ש-'utf8mb4' צפוי לצרוך מעט יותר שטח דיסק.
7. אם אין שגיאות - מומלץ ליצור עותק גיבוי של מסד נתונים עם מסד הנתונים הקבוע.
8. התחל את Zabbix.