ajout d'infos pour upgrade MySQL/MariaDB

This commit is contained in:
Gregory Colpart 2018-08-17 13:05:18 +02:00
parent a43a182490
commit f75323fc7c

View file

@ -12,20 +12,22 @@ Nous conseillons quelques actions qui aideront en cas de problème.
Sauvegarder localement certaines ressources (dans `/home/backup/jessie` par exemple)
~~~
# cd /etc
# git add .
# git commit -am "Commit balai avant upgrade en Stretch"
# mkdir -p /home/backup/jessie/
# cd /home/backup/jessie
# cp -r /etc ./
# mkdir -p var/lib/apt
# cp -r /var/lib/dpkg ./var/lib/
# cp -r /var/lib/apt/extended_states ./var/lib/apt/
# dpkg --get-selections "*" > ./current_packages.txt
# uptime > uptime.txt
# ps auwx > ps.out
# pstree -pan > pstree.out
# ss -tanpul > listen.out
# cat before-upgrade.sh
cd /etc
git add .
git commit -am "Commit balai avant upgrade en Stretch"
mkdir -p /home/backup/jessie/
cd /home/backup/jessie
cp -r /etc ./
mkdir -p var/lib/apt
cp -r /var/lib/dpkg ./var/lib/
cp -r /var/lib/apt/extended_states ./var/lib/apt/
dpkg --get-selections "*" > ./current_packages.txt
uptime > uptime.txt
ps auwx > ps.out
pstree -pan > pstree.out
ss -tanpul > listen.out
~~~
@ -43,6 +45,15 @@ deb http://security.debian.org/debian-security stretch/updates main
deb http://pub.evolix.net/ stretch/
~~~
Si il y a des backports... **les désactiver** car en général ils ne sont plus nécessaires !
Si il y a le dépôt *hwraid.le-vert.net* :
~~~
# cat /etc/apt/sources.list.d/levert.list
deb http://hwraid.le-vert.net/debian stretch main
~~~
Il faut importer la clé GPG du dépôt pub.evolix.net (attention au firewall et/ou proxy pour cette action) :
~~~
@ -55,7 +66,7 @@ Il faut importer la clé GPG du dépôt pub.evolix.net (attention au firewall et
> # wget -O- "http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x44975278B8612B5D" | apt-key add -
> ~~~
Puis mettre à jour le cache APT avec la commande :
Puis mettre à jour le cache APT avec la commande :
~~~
# apt update
@ -73,6 +84,14 @@ Faire ensuite une mise à niveau "simple", pour appliquer les mises à jour triv
# apt upgrade
~~~
Attention, si il y a Mysql/MariaDB, il faut créer l'override de l'unité systemd **avant** :
~~~
# mkdir -p /etc/systemd/system/mariadb.service.d/
# wget "https://forge.evolix.org/projects/ansible-roles/repository/revisions/stable/raw/mysql/templates/mariadb.systemd.j2" -O /etc/systemd/system/mariadb.service.d/evolinux.conf
# systemctl daemon-reload
~~~
Enfin, appliquer les mises à jour non triviales (nécessitant des changements de paquets dépendants, des suppressions…) afin d'avoir un œil plus précis sur ce qui sera fait, avant de valider :
~~~
@ -135,14 +154,30 @@ Les utilisateurs admin sont aussi à ajouter au groupe _adm_.
## MySQL/MariaDB
MariaDB est la version utilisée par défaut au lieu de Oracle MySQL.
MariaDB est la version utilisée par défaut au lieu de Oracle MySQL qui n'est plus du tout inclus (il est possible d'avoir Oracle MySQL 5.7 via un repository extérieur mais on déconseille sauf si complètement bloquant).
La configuration spécifique doit être faite dans les 2 fichiers de configuration _/etc/mysql/mariadb.conf.d/z-evolinux-defaults.cnf_ et _/etc/mysql/mariadb.conf.d/zzz-evolinux-custom.cnf_.
La migration va conserver un fichier `/etc/mysql/my.cnf.migrated` (`/etc/mysql/my.cnf` est un lien symbolique vers `/etc/alternatives/my.cnf` lui-même un lien symbolique vers `/etc/mysql/my.cnf.migrated`).
Il faut également surcharger l'unité systemd de MariaDB, dans _/etc/systemd/system/mariadb.service.d/evolinux.conf_.
ATTENTION : `/etc/mysql/mariadb.conf.d/*` n'est pas pris en compte avec cette ancienne configuration ! Il ne faut pas déplacer les fichiers de configuration et les laisser dans `/etc/mysql/mariadb.conf.d/*`?
Et attention, les fichiers de configuration doivent être en 644, donc il est conseillé de faire :
~~~
# chmod 644 /etc/mysql/conf.d/*.cnf
~~~
Il faut avoir un override de l'unité systemd :
~~~
# mkdir -p /etc/systemd/system/mariadb.service.d/
# wget "https://forge.evolix.org/projects/ansible-roles/repository/revisions/stable/raw/mysql/templates/mariadb.systemd.j2" -O /etc/systemd/system/mariadb.service.d/evolinux.conf
# systemctl daemon-reload
~~~
> **Note** : C'est très important, notamment si vous avez un paramétrage qui utilise un chemin dans /home.
Attention, le moteur FEDERATED n'est plus activé par défaut (l'option `federated` dans la configuration doit ainsi être retiré).
Si on veut l'activer, voir <https://wiki.evolix.org/HowtoMySQL/Troubleshooting#storage-engine-federated>
## PHP
La configuration spécifique doit être faite dans les 2 fichiers de configuration _/etc/php/7.0/cli/conf.d/z-evolinux-defaults.ini_ et _/etc/php/7.0/cli/conf.d/zzz-evolinux-custom.ini_.
@ -215,4 +250,4 @@ Il faut généré un sha256 pour le mot de passe avec la commande suivante :
~~~
$ echo -n password |sha256sum
~~~
~~~