So ändern Sie ein Standard -Datenverzeichnis mySQL/mariadb unter Linux

So ändern Sie ein Standard -Datenverzeichnis mySQL/mariadb unter Linux

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 -Datenverzeichnis

Schritt 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 -Service

Dann 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 -data 
Kopieren 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 -Datenverzeichnis

Schritt 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!