Lösung zum Ändern des Datenspeicherorts der Datenbank in MySQL 5.7

Lösung zum Ändern des Datenspeicherorts der Datenbank in MySQL 5.7

Da die in der MySQL-Datenbank gespeicherten Daten allmählich zunehmen, ist der ursprüngliche Speicherplatz voll, sodass MySQL keine Verbindung mehr herstellen kann. Daher ist es notwendig, den Speicherort der Daten zu ändern. Hier sind einige Schritte des Vorgangs. Machen Sie sich eine Notiz, später noch einmal vorbeizuschauen.

1. Ändern Sie das Verzeichnis, in dem MySQL-Daten gespeichert sind

Es gibt zwei Stellen, an denen Änderungen vorgenommen werden müssen. Eine davon ist die Änderung des Datenverzeichnisses in der Datei /etc/my.cnf. Standardmäßig:

Datenverzeichnis=/var/lib/mysql

Da mein /data/-Verzeichnis relativ groß ist, habe ich es wie folgt geändert:

Datenverzeichnis=/Daten/MySQL/

Modifizieren Sie außerdem die Datei /etc/init.d/mysqld und ändern Sie datadir=”$result” in:

Datenverzeichnis="/Daten/mysql"

2. Stoppen Sie den MySQL-Dienst

Dienst MySQL stoppen

3. Erstellen Sie ein neues Datenspeicherverzeichnis

mkdir /data/mysql

4. Verschieben Sie die Daten in das neue Datenbankspeicherverzeichnis

mv /usr/local/mysql/data/* /data/mysql

Hier ein wenig Zusatzwissen: Die Datendateien der InnoDB-Engine und der MyISAM-Engine sind unterschiedlich.

Für die MyISAM-Engine werden Datendateien in den entsprechenden Datenbankordnern im Verzeichnis „/var/lib/mysql“ als drei Dateien gespeichert: „*.frm“, „*.MYD“ und „*.MYI“. Verschieben Sie diese Dateien einfach in das neue Datenspeicherverzeichnis.

Für die InnoDB-Engine werden Daten (normalerweise) in der $innodb_data_home_dir” 的ibdata1 gespeichert und die Strukturdatei befindet sich in table_name.frm.

5. Ändern Sie die Berechtigungen und Konfigurationsdateien des MySQL-Datenbankverzeichnisses

chown mysql:mysql -R /data/mysql/

6. Ändern Sie den Sockel

Socket an zwei Stellen ändern, /etc/my.cnf

socket=/data/mysql/mysql.sock

Erstellen Sie eine Verbindungsdatei zu /var/lib/mysql/mysql.sock

ln -s /data/mysql/mysql.sock /var/lib/mysql/mysql.sock

7. Starten Sie den MySQL-Dienst neu

implementieren

Dienst MySQL Neustart

Als ich mit dem Lesen und Schreiben in der Datenbank begann, stellte ich das folgende Problem fest:

Lesen und Schreiben:

FEHLER 1146 (42S02): Tabelle ** existiert nicht

Erstellen Sie die Tabelle:

FEHLER 1005 (HY000): Tabelle „runoob_tbl“ kann nicht erstellt werden (Fehlernummer: 13)

Lösung:

Löschen Sie im Verzeichnis /data/mysql die ib_logfile*-Dateien, damit die InnoDB-Engine-Tabelle normal ist.

Erneut ausführen

mysql> REPARATURTABELLE ***;

Bei Tabellen mit großen Datenmengen kann dieser Vorgang langsam sein. Nach Abschluss der Ausführung ist auch die MyISAM-Engine-Tabelle normal.

Freunde, die MySQL-bezogene Themen benötigen, können sich auf Folgendes beziehen

Zusammenfassung der Kenntnisse zum Datenbankbetrieb in MySQL

MySQL-Tutorial für die ersten Schritte

Mysql-Fehler und Lösung

Vorgehensweise beim Verwenden des MySQL-Root-Passworts

Oben ist die Lösung zum Ändern des Datenspeicherorts der Datenbank in MySQL 5.7, die ich Ihnen vorgestellt habe. Ich hoffe, sie wird Ihnen hilfreich sein. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und ich werde Ihnen rechtzeitig antworten. Ich möchte Ihnen auch sehr für Ihre Unterstützung der Website 123WORDPRESS.COM danken!

Das könnte Sie auch interessieren:
  • Zwei Möglichkeiten zum Speichern von Scrapy-Daten in einer MySQL-Datenbank (synchron und asynchron)
  • Python-Beispiel zum Speichern von JSON-ähnlichen Daten in MySQL
  • So installieren Sie MySQL 5.7 unter Ubuntu und konfigurieren den Datenspeicherpfad
  • So ändern Sie das Datenbankdatenspeicherverzeichnis in MySQL
  • Detailliertes Beispiel für MySQL-Datenspeicherprozessparameter
  • So verschieben Sie den Datenspeicherort von mysql5.7.19 in Centos7
  • So implementieren Sie das MySQL-Umschalten des Datenspeicherverzeichnisses
  • Details zur MySQL-Datenbankarchitektur
  • MySQL-Speicherung räumlicher Daten und Funktionen

<<:  So verwenden Sie Docker-Container zur Implementierung der Proxy-Weiterleitung und Datensicherung

>>:  Zusammenfassung von 3 Möglichkeiten zum verzögerten Laden eines Vue-Routers

Artikel empfehlen

Css3 realisiert nahtloses Scrollen und Anti-Shake

Frage Das nahtlose Scrollen von Bildern und Texte...

Lösung für die Protokollpersistenzlösung des Nginx-Ingress-Controllers

Kürzlich habe ich auf einem öffentlichen Konto ei...

JS Asynchronous Stack Tracing: Warum „await“ besser ist als „Promise“

Überblick Der grundlegende Unterschied zwischen a...

Ausführliches Tutorial zur Installation von mysql 5.6.23 winx64.zip

Eine ausführliche Dokumentation zur Installation ...

Vue implementiert Fuzzy-Abfrage-MySQL-Datenbankdaten

Inhaltsverzeichnis 1. Nachfrage 2. Umsetzung 3. E...

Kostenloses Tool zur Überprüfung der Richtigkeit von HTML-, CSS- und RSS-Feeds

Ein Trick zum Umgang mit dieser Art von Fehlern be...

Zusätzliche Anweisungen zur Verwendung von Gettern und Aktionen in Vuex

Vorbemerkungen 1.Unterschiede zwischen Vue2.x und...

Vue realisiert die Funktion eines Bucheinkaufswagens

In diesem Artikelbeispiel wird der spezifische Co...

MySQL-Datenbank GTID realisiert Master-Slave-Replikation (super praktisch)

1. Maria-Quelle hinzufügen vi /etc/yum.repos.d/Ma...

Zusammenfassung der unbekannten Verwendung von "!" in Linux

Vorwort Tatsächlich gibt es für das bescheidene „...