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

Erfahrungsaustausch zur Optimierung von MySQL-Big-Data-Abfragen (empfohlen)

Ernsthafte MySQL-Optimierung! Wenn die MySQL-Date...

So implementieren Sie eine steuerbare gepunktete Linie mit CSS

Vorwort Die Verwendung von CSS zum Generieren gep...

Einfaches HTML-Applet für Einkaufsmengen

Dieser Artikel stellt Ihnen ein einfaches HTML-Ap...

Reines CSS3 zum Erstellen eines Beispielcodes für Seitenwechseleffekte

Das, was ich vorher geschrieben habe, ist zu komp...

JavaScript implementiert einen verschiebbaren Fortschrittsbalken

In diesem Artikel wird der spezifische JavaScript...

So installieren Sie nginx unter Linux

Nginx wurde in der Programmiersprache C entwickel...

Detaillierte Erläuterung des MySQL InnoDB-Sekundärindex-Sortierbeispiels

Sortierproblem Ich habe kürzlich auf Geek Time „4...

So erstellen Sie Ihre eigene Angular-Komponentenbibliothek mit DevUI

Inhaltsverzeichnis Vorwort Erstellen einer Kompon...

Vue nutzt Baidu Maps zur Realisierung der Stadtpositionierung

In diesem Artikel wird der spezifische Code von V...

Der Unterschied zwischen schreibgeschützt und deaktiviert

Um es zusammenzufassen: „Nur lesen“ ist nur für Ei...