Umstellung von SQLite auf MySQL

Kategorie: LiveConfig
Erstellt: 09.04.2020
Aktualisiert: 03.03.2021

Sobald auf einer LiveConfig-Installation mehr als rund 400-500 Hostingverträge angelegt sind, ist es meist effizienter, die interne LiveConfig-Datenbank mit MySQL bzw. MariaDB statt mit der standardmäßig genutzten SQLite-Datenbank zu betreiben.

Diese Anleitung beschreibt die notwendigen Schritte, um die Daten von SQLite in eine MySQL-/MariaDB-Datenbank zu migrieren.

Schritt 1: Export der SQLite-Datenbank

Zum Export der Daten aus SQLite laden Sie das Tool lcdbdump herunter und erzeugen Sie damit einen MySQL-kompatiblen Dump der SQLite-Datenbank:

root@srv:~# wget http://download.liveconfig.com/tools/lcdbdump
root@srv:~# chmod 755 lcdbdump
root@srv:~# ./lcdbdump /var/lib/liveconfig/liveconfig.db dump.sql

Schritt 2: Anlegen der MySQL-Datenbank

Melden Sie sich als root-Benutzer an der MySQL-Konsole an und erzeugen Sie einen neuen Benutzer und eine neue Datenbank für LiveConfig. Sie können dafür einen beliebigen Benutzer- und Datenbanknamen wählen, aber verwenden Sie unbedingt ein sicheres (!) Passwort:

mysql> CREATE USER 'liveconfig'@'localhost' IDENTIFIED BY 'SaFePaSsWoRd';
mysql> CREATE DATABASE LIVECONFIG;
mysql> GRANT ALL PRIVILEGES ON LIVECONFIG.* TO 'liveconfig'@'localhost';

Falls MySQL auf einem anderen Server als LiveConfig läuft, tragen Sie statt localhost die entsprechende IP-Adresse ein.

Nun importieren Sie die vorbereitete MySQL-Tabellenstruktur. Im Verzeichnis /usr/share/doc/liveconfig liegt diese als komprimierter SQL-Dump bereit:

root@srv:~# zcat /usr/share/doc/liveconfig/db-mysql.sql.gz | mysql -u liveconfig -p -h localhost LIVECONFIG
Enter password: ************

Schritt 3: Import der Daten

Importieren Sie nun die in Schritt 1 exportierten Daten in MySQL:

root@srv:~# mysql -u liveconfig -p -h localhost LIVECONFIG < dump.sql
Enter password: ************

Schritt 4: Verwenden der MySQL-Datenbank

Öffnen Sie die Konfigurationsdatei /etc/liveconfig/liveconfig.conf und bearbeiten die Datenbankeinstellungen, z.B.:

db_driver   = mysql
db_host     = localhost
db_name     = LIVECONFIG
db_user     = liveconfig
db_password = SaFePaSsWoRd

Starten Sie LiveConfig nun neu (service liveconfig restart). Falls LiveConfig nicht startet, werfen Sie einen Blick in die Logdatei (/var/log/liveconfig/liveconfig.log).