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

Detailliertes Tutorial zum Konfigurieren der lokalen Yum-Quelle in CentOS8

Die Centos8-Distribution wird über die BaseOS- un...

Vue implementiert Akkordeoneffekt

In diesem Artikelbeispiel wird der spezifische Co...

Lernprogramm zur Verwendung von HTML-Formular-Tags

Mithilfe von HTML-Formularen können verschiedene ...

JavaScript zum Erzielen eines Mauszieheffekts

In diesem Artikel wird der spezifische JavaScript...

SQL-Implementierung von LeetCode (184. Das höchste Gehalt der Abteilung)

[LeetCode] 184. Abteilung Höchstes Gehalt Die Mit...

Erstellen Sie Schritt für Schritt ein Dateiverwaltungssystem mit nginx+FastDFS

Inhaltsverzeichnis 1. Einführung in FastDFS 1. Ei...

Der Unterschied zwischen div und span in HTML (Gemeinsamkeiten und Unterschiede)

Gemeinsamkeiten: Das DIV-Tag und das SPAN-Tag beh...

Ubuntu16.04 erstellt eine php5.6-Webserverumgebung

Ubuntu 16.04 installiert standardmäßig die PHP7.0...

Analyse der MySql-Indexnutzungsstrategie

MySql-Index Indexvorteile 1. Sie können die Einde...

So installieren Sie Phabricator mit Docker

Ich verwende hier das Ubuntu 16.04-System. Instal...

HTML-Tabellen-Markup-Tutorial (43): VALIGN-Attribut der Tabellenüberschrift

In vertikaler Richtung können Sie die Ausrichtung...

Detaillierte Erklärung des JavaScript-Statuscontainers Redux

Inhaltsverzeichnis 1. Warum Redux 2. Redux-Datenf...