In den Standard-Repositories von CentOS 7 finden wir die Version 5.5. von MariaDB. Oft kommt es vor, dass Anwendungen eine höhere Version von MariaDB erfordern. Dieses Tutorial beschreibt wie wir MariaDB 5.5 auf eine höhere Version updaten.
Vorrausgesetzt wird ein installiertes CentOS 7 mit MariaDB.
Wird MariaDB bereits aktiv genutzt, sollten wir im Vorfeld ein Backup aller Datenbanken anfertigen. Wie das geschieht steht in dem Artikel „Mysql Datenbanken sichern“. Beim Upgrade selbst ist mit keinen Datenverlust zu rechen, eine Garantie dafür gibt es natürlich nicht.
MariaDB Update mit CentOS 7
Die Version der akuell installierten MariaDB Version sehen wir z.B. im Login Prozess den Datenbank-Servers.
#mysql Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 2 Server version: 5.5.52-MariaDB MariaDB Server Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]>
MariaDB Repo einbinden
Auf der Webseite von MariaDB können wir uns die Angaben für das passende Repository generieren. Dazu erstellen wir eine neue Konfigurationsdatei für das Repo. Zum Beispiel für die Version 10.2.
vi /etc/yum.repos.d/mariadb-10.2.repo
# MariaDB 10.2 CentOS repository list - created 2017-07-26 11:13 UTC # http://downloads.mariadb.org/mariadb/repositories/ [mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.2/centos7-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1
Neue MariaDB Version installieren
Anschliessend stoppen wir den aktuellen Datenbankserver.
systemctl stop mariadb.service
Dann folgt ein Update per yum. Dabei werden die Pakete des bereits installierten MariaDB-Servers mit den neuen Paketen aus dem Repo von MariaDB ersetzt.
yum update
Dependencies Resolved ====================================================================================== Package Arch Version Repository Size ====================================================================================== Installing: MariaDB-client x86_64 10.2.7-1.el7.centos mariadb 48 M replacing mariadb.x86_64 1:5.5.52-1.el7 MariaDB-compat x86_64 10.2.7-1.el7.centos mariadb 2.8 M replacing mariadb-libs.x86_64 1:5.5.52-1.el7 MariaDB-server x86_64 10.2.7-1.el7.centos mariadb 108 M replacing mariadb-server.x86_64 1:5.5.52-1.el7 Installing for dependencies: MariaDB-common x86_64 10.2.7-1.el7.centos mariadb 154 k boost-program-options x86_64 1.53.0-26.el7 base 156 k galera x86_64 25.3.20-1.rhel7.el7.centos mariadb 8.0 M lsof x86_64 4.87-4.el7 base 331 k Transaction Summary ====================================================================================== Install 3 Packages (+4 Dependent packages) Total download size: 168 M Is this ok [y/d/N]:y
Nachdem die Installation abgeschlossen ist, starten wir wie gewohnt unseren Datenbankserver.
systemctl start mariadb.service
Abschliessend ist es notwendig die systemeigenen Datenbanken in das neue Schema zu überführen. Dazu gibt es das Kommando mysql_upgrade.
mysql_upgrade
... Upgrading from a version before MariaDB-10.1 Phase 2/7: Installing used storage engines Checking for tables with unknown storage engine Phase 3/7: Fixing views Phase 4/7: Running 'mysql_fix_privilege_tables' Phase 5/7: Fixing table and database names Phase 6/7: Checking and upgrading tables Processing databases information_schema performance_schema ... Phase 7/7: Running 'FLUSH PRIVILEGES' OK
Nachden diese Schritte erledigt sind können wir uns im MariaDB einloggen und erhalten auch die neue Versionsnummer angezeigt.
# mysql Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 9 Server version: 10.2.7-MariaDB MariaDB Server Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]>
Weitere Infos zu MariaDB findet man wie immer auf der Webseite des Projektes.
Hier findet Ihr ein kleines Script dazu ;-)
https://lucksmith.de/mariadb-upgrade-auf-10-3-centos-7/