Möglicherweise müssen Sie das MySQL-Datenverzeichnis aufgrund von unzureichendem Partitionsspeicher auf /var oder /root ändern und das Datenverzeichnis in /home für Ihren Server einschließlich cPanel ändern. Es kann auch andere Gründe geben, das Datenverzeichnis zu ändern.
Standardmäßig ist das MySQL/MariaDB-Datenverzeichnis /var/lib/mysql . Es speichert alle Datenbanken unter /var/lib/mysql . Bitte beachten Sie die folgenden Schritte, um das MySQL-Datenverzeichnis in /home zu ändern. Wir gehen davon aus, dass Sie
sind- Zunächst erstellen wir eine Sicherungskopie aller MySQL-Datenbanken, damit wir keinen Datenverlust erleiden, falls etwas schief geht.
# tar -cvf mysql.tar /var/lib/mysql
- Sobald Sie mit der Sicherung fertig sind, stoppen Sie den MariaDB-Dienst mit dem folgenden Befehl.
------------- On SystemD ------------- # systemctl stop mariadb # systemctl is-active mariadb ------------- On SysVInit ------------- # service mysqld stop # service mysqld status
- Installieren Sie den Bildschirmbefehl
yum install screen
screen // It will create screen - Jetzt synchronisieren wir alle MySQL-Datenbanken mit /home/mysql. Der folgende Befehl erstellt ein mysql-Verzeichnis in /home und startet den Synchronisierungsprozess.
rsync -avz /var/lib/mysql to /home
- Während die Synchronisierung läuft, können Sie auch an anderen Aufgaben arbeiten. Sobald mehrere Bildschirme erstellt wurden, können Sie wie folgt zwischen Bildschirmen wechseln/fortfahren.
screen -r // it will resume previous screen
ctrl A and ctrl D // for return to main screen
ctrl A and shift ? // for screen command menu - Um das MySQL/MariaDB-Datenverzeichnis zu ändern, bearbeiten Sie die Datei /etc/my.cnf mit Ihrem bevorzugten Editor.
vi /etc/my.cnf
- Ändern Sie das Datenverzeichnis von /var/lib/mysql zu /home. Wenn Sie keine vorhandene Zeile von datadir finden, können Sie wie unten eine neue Zeile hinzufügen.
datadir=/home/mysql
- Sie müssen die Socket-Datei erneut mit /tmp. verknüpfen
# rm -rf /tmp/mysql.sock
# ln -sf /home/mysql/mysql.sock /tmp/mysql.sock - Um den MariaDB-Dienst von /home, auszuführen Sie müssen die Datei mariadb.service am Speicherort /usr/lib/systemd/system/mariadb.service. ändern
ProtectHome=true to ProtectHome=false
- Starten Sie schließlich Ihren MariaDB-Dienst.
systemctl start mariadb
- Ihr MariaDB-Dienst schlägt möglicherweise mit der folgenden Warnung fehl. Um diesen Fehler zu beheben, können Sie den Server neu starten und den MariaDB-Dienst erneut starten, und er funktioniert wieder.
MariaDB cannot start after update: [Warning] Need to run systemctl daemon-reload
- Um die Funktionalität zu überprüfen, müssen wir eine Datenbank von cPanel erstellen und sie sollte in /home/mysql erstellt werden. Weitere Informationen finden Sie unter cPanel> MySQL-Datenbank erstellen zum Erstellen einer MySQL-Datenbank. Wenn Ihre Datenbank in /home/mysql erstellt wird, es bedeutet, dass Sie in Ihrer Aufgabe erfolgreich sind.
- Wenn alles gut funktioniert, können Sie das alte Datenverzeichnis aus /var/lib/mysql. entfernen
rm -rf /var/lib/mysql