So ändern Sie ein Standard -Datenverzeichnis mySQL/mariadb unter Linux
- 4796
- 1453
- Lana Saumweber
Nachdem Sie die Komponenten eines Lampenstapels auf einem CentOS/RHEL 7 -Server installiert haben, möchten Sie einige Dinge tun.
Einige von ihnen haben mit der Erhöhung der Sicherheit von Apache und MySQL / Mariadb zu tun, während andere möglicherweise anwendbar sind oder nicht nach unserem Setup oder unseren Bedürfnissen.
Basierend auf der erwarteten Verwendung des Datenbankservers möchten wir beispielsweise die Standardeinstellung ändern Daten Verzeichnis (/var/lib/mysql
) an einen anderen Ort. Dies ist der Fall, wenn ein solches Verzeichnis aufgrund einer hohen Verwendung erwartet wird.
Ansonsten das Dateisystem wo /var
wird gespeichert, kann an einem Punkt zusammenbrechen, was dazu führt, dass das gesamte System fehlschlägt. Ein weiteres Szenario, in dem das Standardverzeichnis geändert wird, ist, wenn wir über eine dedizierte Netzwerkfreigabe verfügen, mit der wir unsere tatsächlichen Daten speichern möchten.
Aus diesem Grund werden wir in diesem Artikel erläutern, wie das Standard -MySQL/MariADB -Datenverzeichnis auf einem CentOS/RHEL 7 -Server und Ubuntu/Debian -Distributionen auf einen anderen Weg geändert werden kann.
Obwohl wir verwenden werden Mariadb, Die erläuterten Konzepte und die in diesem Artikel unternommenen Schritte gelten beides auf Mysql und zu Mariadb sofern nicht anders angegeben.
Ändern des Standard -MySQL/Mariadb -Datenverzeichnisses
Notiz: Wir gehen davon aus, dass unser neues Datenverzeichnis ist /mnt/mysql-data
. Es ist wichtig zu beachten MySQL: Mysql
.
# mkdir /mnt /mysql-data # chown -r mysql: mysql /mnt /mysql-data
Für Ihre Bequemlichkeit haben wir den Prozess in 5 einfach zu befolgende Schritte unterteilt:
Schritt 1: Identifizieren Sie das aktuelle MySQL -Datenverzeichnis
Zunächst ist es würdig und gut, das aktuelle Datenverzeichnis mithilfe des folgenden Befehls zu identifizieren. Gehen Sie nicht einfach davon aus, dass es immer noch ist /var/lib/mysql
Da hätte es in der Vergangenheit verändert werden können.
# MySQL -U root -p -e "SELECT @@ Datadir;"
Nachdem Sie das MySQL -Passwort eingegeben haben, sollte die Ausgabe ähnlich sein wie.
Identifizieren Sie das MySQL -DatenverzeichnisSchritt 2: Kopieren Sie das MySQL -Datenverzeichnis an einen neuen Standort
Um die Korruption von Daten zu vermeiden, stoppen Sie den Dienst, wenn er derzeit vor dem Fortfahren ausgeführt wird. Verwenden Sie das systemd Bekannte Befehle dazu:
------------- Auf systemd ------------- # SystemCTL STOP MARIADB # SYSTEMCTL ISAKTIVE MARIADB ------------- Auf sysvinit ------------- # Service MySQLD STOP # Service MySQLD Status oder # Service MySQL Stop # Service MySQL Status
Wenn der Dienst gesenkt wurde, sollte die Ausgabe des letzten Befehls wie folgt sein:
Stoppen Sie den MySQL -ServiceDann kopieren Sie den Inhalt von rekursiv von /var/lib/mysql
Zu /mnt/mysql-data
Erhaltung der ursprünglichen Berechtigungen und Zeitstempel:
# cp -r -p/var/lib/mysql/*/mnt/mysql -dataKopieren Sie das MySQL -Datenverzeichnis an einen neuen Standort
Schritt 3: Konfigurieren Sie ein neues MySQL -Datenverzeichnis
Bearbeiten Sie die Konfigurationsdatei (Mein.CNF
) um das neue Datenverzeichnis anzugeben (/mnt/mysql-data
in diesem Fall).
# vi /etc /mein.cnf oder # vi/etc/mysql/my.CNF
Suchen Sie die [Mysqld]
Und [Klient]
Abschnitte und vornehmen Sie folgende Änderungen:
Unter [Mysqld]: datadir =/mnt/mysql-data socket =/mnt/mysql-data/mysql.Socke Unter [Client]: Port = 3306 Socket =/mnt/mysql-data/mysql.Socke
Speichern Sie die Änderungen und fahren Sie dann mit dem nächsten Schritt fort.
Konfigurieren Sie das neue MySQL -DatenverzeichnisSchritt 4: Stellen Sie den SELinux -Sicherheitskontext auf das Datenverzeichnis fest
Dieser Schritt gilt nur für Rhel/Centos und seine Derivate.
Fügen Sie den Selinux -Sicherheitskontext hinzu /mnt/mysql-data
Vor dem neu starten Mariadb.
# semanage fcontext -a -t mysqld_db_t "/mnt/mysql -data (/.*)?" # restorecon -r /mnt /mysql -data
Starten Sie als nächstes den MySQL -Dienst neu.
------------- Auf systemd ------------- # SystemCTL STOP MARIADB # SYSTEMCTL ISAKTIVE MARIADB ------------- Auf sysvinit ------------- # Service MySQLD STOP # Service MySQLD Status oder # Service MySQL Stop # Service MySQL Status
Verwenden Sie nun den gleichen Befehl wie in Schritt 1 Um den Standort des neuen Datenverzeichnisses zu überprüfen:
# MySQL -U root -p -e "SELECT @@ Datadir;"Überprüfen Sie das neue Datenverzeichnis von MySQL
Schritt 5: Erstellen Sie die MySQL -Datenbank, um das Datenverzeichnis zu bestätigen
Melden Sie sich bei Mariadb an, erstellen Sie eine neue Datenbank und überprüfen Sie dann /mnt/mysql-data
:
# mysql -u root -p -e "Datenbank tecmint erstellen;"Überprüfen Sie das neue Datenverzeichnis von MySQL
Glückwunsch! Sie haben das Datenverzeichnis für MySQL oder MariadB erfolgreich geändert.
Zusammenfassung
In diesem Beitrag haben wir besprochen, wie das Datenverzeichnis in einem MySQL- oder MariADB -Server geändert werden kann, der auf CentOS/RHEL 7 und Ubuntu/Debian Distribution ausgeführt wird.
Haben Sie Fragen oder Kommentare zu diesem Artikel? Fühlen Sie sich frei, uns mit dem folgenden Formular zu informieren - wir freuen uns immer, von Ihnen zu hören!
- « So installieren Sie Chef Workstation in RHEL und CentOS 8/7
- 10 nützliche Websites zum Lernen von PostgreSQL -Datenbanksystem »