Ich möchte von utf8 auf utf8mb4 umstellen:
phpmyadmin zeigt folgendes an:
- Server: MariaDB 10 (Localhost via UNIX socket)
- Server-Typ: MariaDB
- Server-Verbindung: SSL wird nicht verwendet
- Server-Version: 10.3.21-MariaDB - Source distribution
- Protokoll-Version: 10
- Benutzer: root@localhost
- Server-Zeichensatz: UTF-8 Unicode (utf8)
Was habe ich bisher gemacht:
in
/var/packages/MariaDB10/etc eine my.cnf angelegt mit folgenden Inhalt:
[client]
default-character-set
= utf8mb4
[mysqld]
innodb_file_format
= Barracuda
innodb_file_per_table = 1
innodb_large_prefix
character-set-server
= utf8mb4
collation-server = utf8mb4_unicode_ci
skip-character-set-client-handshake
[mysql]
default-character-set
= utf8mb4
Diese
my.cnf wird gelesen durch
./volume1/@appstore/MariaDB10/usr/local/mariadb10/etc/mysql/my.cnf
durch den !include Befehl
Seit den
eingetragenen Werten startet MariaDB nicht mehr.
MIt einem
anpassen durch > php /volume1/web/moodle/admin/cli/mysql_collation.php
--collation=utf8mb4_unicode_ci erreiche ich diesen Fehler:
PHP Parse
error: syntax error, unexpected ':', expecting ';' or '{' in
/volume1/web/moodle/lib/classes/component.php on line 1114
Ein 2. Weg
den ich ging war folgendes:
Die
Datenbank neu importieren mit mysqldump und dem Zusatz: --skip-character-set
Da bekomme ich diese Meldung:
Info:
Using unique option prefix 'character-set' is error-prone and can break in the
future. Please use the full name 'character-sets-dir' instead.
Nun suche
ich den Pfad vom charset um diesen noch in die my.cnf zu schreiben.
Oder geht
das anders "einfacher"