Salut;
Si vous utilisez Laravel > 5.5 vous avez surement vu cette erreur :
1 |
1071 Specified key was too long; max key length is 767 bytes |
Ce bug a été corrigé à partir de la version 10.2 de MariaDB (en ajoutant le support de utf8mb4 pour l’enregistrement des emojis).
Par défaut Dans Debian 9 Stretch, c’est MariaDB 10.1 qui est installée et donc à chaque fois que vous essayer d’utiliser le type de caractères utf8mb4 dans votre application web vous aurez une erreur.
Il existe des techniques pour y remédier à cela mais il faut le faire à chaque nouveau projet, le mieux je pense c’est de faire la mise à jour pour bénéficier de cette fonctionnalité et éventuellement d’autres correctifs
Je vais vous expliquer rapidement comment effectuer la mise à jour de la version 10.1 à la version 10.3
Tout d’abord il faut arrêter MariaDB Server
1 2 3 |
mysql -u root -p SHUTDOWN; exit |
Puis effectuer une sauvegarde de vos données
1 2 |
rsync -aP /var/lib/mysql /var/backup/mariadb/backup/ rsync -aP /etc/mysql /var/backup/mariadb/backup/mysql-config |
Désinstallez la version 10.1
1 |
apt-get remove mariadb-server |
En suite, il faut ajouter la clé et créer un fichier mariadb.list
1 2 3 |
apt-get install software-properties-common dirmngr apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xF1656F24C74CD1D8 nano /etc/apt/sources.list.d/mariadb.list |
Insérez ce texte dans : /etc/apt/sources.list.d/mariadb.list
1 2 3 4 |
# MariaDB 10.3 repository list - created 2018-09-14 11:31 UTC # http://downloads.mariadb.org/mariadb/repositories/ deb [arch=amd64,i386,ppc64el] http://mariadb.mirrors.ovh.net/MariaDB/repo/10.3/debian stretch main deb-src http://mariadb.mirrors.ovh.net/MariaDB/repo/10.3/debian stretch main |
Faites un update puis installer MariaDB-Server :
1 2 |
apt-get update apt-get install mariadb-server |
Lancer la mise à jour de la base de données
1 |
mysql_upgrade -u root -p |
Si tout est ok, relancez votre serveur MariaDB
1 |
service mysql restart |
Voilà !
So, what do you think ?