Wenn ich den Befehl ausführen
%Vor%Ich habe einen Fehler erhalten
ERROR 2002 (HY000): Über den Socket '/var/run/mysqld/mysqld.sock' (2)
kann keine Verbindung zum lokalen MySQL-Server hergestellt werden
Wenn ich versuche, den mysql-Dienst auszuführen
%Vor%Zeitüberschreitung mit der Nachricht
Job für mysql.service ist fehlgeschlagen, weil ein Timeout überschritten wurde. Einzelheiten finden Sie unter "systemctl status mysql.service" und "journalctl -xe".
Protokolle
%Vor%
Stoppen Sie zuerst die mysql-Instanz. Sie müssen das genaue / var / lib / mysql-Verzeichnis in Ihr neues Datenverzeichnis kopieren und dabei seine Berechtigung beibehalten. Verwenden Sie also rsync mit der Option -a
%Vor%Ändern Sie auch den Pfad des Datenpfads in der Datei mysql.cnf
Sie müssen Alias zu apparmor hinzufügen, damit mysql in das neue Verzeichnis schreiben kann
Um einen Alias hinzuzufügen:
%Vor%und dann fügen Sie diese Zeile nach unten
hinzu %Vor%Starten Sie den Apparmor neu.
%Vor%und starte jetzt mysql. Es sollte funktionieren
Wenn Ihr mysql funktioniert und Sie Ihren Verzeichnisfluss ändern möchten, gehen Sie folgendermaßen vor:
ändere das Datadir von vim /etc/mysql/mysql.conf.d/mysqld.cnf
Ändern Sie den Besitzer oder legen Sie eine hohe Berechtigung für das neue Verzeichnis fest
%Code%
Sie sollten chown mysql.mysql /yourdir/mysql
vim /etc/apparmor.d/tunables/alias
Fügen Sie schließlich alias /var/lib/mysql/ -> /yourdb/mysql
und /db/data/mysql r
am Ende von /db/data/mysql** rwk
vim /etc/apparmor.d/usr.sbin.mysqld
hinzu.
/etc/init.d/apparmor reload
Aber wenn dein mysql nicht mehr funktioniert, entferne es und führe diese Schritte durch.
Wenn Sie Ihre Daten benötigen, kopieren Sie sie in ein neues Verzeichnis.
Schritte entfernen:
/etc/init.d/mysql start
apt-get autoremove mysql-server
apt-get remove --purge mysql-\*
Tags und Links mysql ubuntu-16.04