Datenbankserver Distributionswechsel MySQL5.6 auf MariaDB10.2

Aus Glaskugel
Zur Navigation springen Zur Suche springen

Datenbankserver Distributionswechsel MySQL5.7 auf MariaDB10.5 *UPDATED

1. Lege im Ordner /etc/my.cnf.de die Datei server.cnf an
Ist die Datei schon vorhanden, dann editiere Sie wie folgt, ansonsten füge einfach folgende drei Zeilen in die leere Datei ein
[server]
skip-networking
skip-grant-tables
Beenden und Speichern mit F10
2. Gib dann folgenden Befehl ein, um die Änderung wirksam zu machen
systemctl daemon-reload && service mysql restart
3. Erstelle einen Dump aller Datenbanken auf dem Server
su MYSQL_PWD=`cat /etc/psa/.psa.shadow` mysqldump -u admin --all-databases --routines --triggers > /tmp/all-databases.sql
4. Stoppe den MySQL Service
service mysql stop
5. Kopiere zur Sicherheit das Datenbankverzeichnis in einen separaten Ordner
cp -v -a /var/lib/mysql/ /var/lib/mysql_backup
6. Prüfe vorsichtshalber, ob MySQL installiert ist
rpm -q --whatprovides mysql-server
es sollte folgende Ausgabe geben:
""mysql-community-server-5.7.34-1.el7.x86_64"" << AUSGABE-DB-SERVER
7. Entferne die MySQL Installation
rpm -e --nodeps `AUSGABE-DB-SERVER`
8. Lege ein yum-Repo für MariaDB10.2 an
mcedit /etc/yum.repos.d/MariaDB.repo
Füge folgende Zeilen ein
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.5/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
Beenden und Speichern mit F10
9. Installiere MariaDB aus dem eben hinzugefügten Repo
yum install MariaDB-client MariaDB-server
10. Du erhältst nun evtl. eine ähnliche Fehlermeldung
Transaction check error:
file /usr/share/mysql/charsets/Index.xml from install of MariaDB-common-10.5.10-1.el7.centos.x86_64 conflicts with file from package mysql-community-common-x.x.xx.x86_64
file /usr/share/mysql/charsets/armscii8.xml from install of MariaDB-common-10.5.10-1.el7.centos.x86_64 conflicts with file from package mysql-community-common-x.x.xx.x86_64
...
Das ist zwar ärgerlich, aber reparabel
führe Folgendes aus
1. yum shell
2. remove mysql-community-common-5.x.xx-2.el7.x86_64 < siehe Fehlermeldung
3. install MariaDB-server-10.5.10-1.el7.centos.x86_64 < Installiere die Version aus dem Repo
4. run
Die Installation von MariaDB10.2 wird nun ausgeführt.
Beende die yum shell mit exit
11. Starte MariaDB
service mariadb start
12. Führe ein Upgrade der vorhandenen Datenbanken auf die neue Version durch
MYSQL_PWD=`cat /etc/psa/.psa.shadow` mysql_upgrade -uadmin
13. Mache die Änderung im Ordner /etc/my.cnf.de rückgängig
Editiere die Datei /etc/my.cnf.d/server.cnf und entferne die in Schritt 1 hinzugefügten Zeilen unterhalb, bzw. lösche die Datei.
[server]
14. Gib dann folgenden Befehl ein, um die Änderung wirksam zu machen und MariaDB neu zu starten
systemctl daemon-reload && service mariadb restart
15. Aktualisiere die Datenbankversion innerhalb Plesk
plesk sbin packagemng -sdf
16. Entferne das alte Startscript für MySQL und lege MariaDB im "Autostart" an
1. systemctl stop mysql; killall mysqld -> Beendet, falls gestartet, den falschen Dienst. (MySQL)
2. rm /etc/init.d/mysql && systemctl daemon-reload -> Entfernt den falschen Dienst aus dem init.d und lädt die systemctl Konfiguration neu.
3. systemctl start mariadb -> Startet MariaDB falls der dienst noch nicht läuft.
4. systemctl enable mariadb -> Stellt sicher, dass MariaDB auch nach einem Reboot wieder gestartet wird.
17. Deaktiviere das aktivierte Repo für die MySQL Version
Zuerst, finde heraus, welche Repos noch aktiv sind
yum repolist all | grep mysql
Folgenden Output könntest Du erhalten
mysql-connectors-community/x86_64 MySQL Connectors Community deaktiviert
mysql-tools-community/x86_64 MySQL Tools Community deaktiviert
mysql55-community/x86_64 MySQL 5.5 Community Server deaktiviert
mysql56-community/x86_64 MySQL 5.6 Community Server aktiviert: 463
mysql57-community/x86_64 MySQL 5.7 Community Server deaktiviert
mysql80-community/x86_64 MySQL 8.0 Community Server deaktiviert
Deaktiviere nun das aktivierte Repo - im obigen Beispiel mysql56-community
yum-config-manager --disable mysql56-community