MySQL-Server startet nicht wegen fehlender Berechtigungen, diese sind aber erteilt

MySQL-Server startet nicht wegen fehlender Berechtigungen, diese sind aber erteilt

Ich habe gerade meinen alten Satz Datenbanken nach /var/lib/mysql kopiert und dabei ist etwas Seltsames passiert. Zuerst waren die Berechtigungen "root:root", weil ich "sudo mc" verwendet habe, um das Backup vom Backup-Speicherort zu kopieren. Ich habe chmod und chown ausgeführt, um die alten Berechtigungen wiederherzustellen, und sogar mit einer Neuinstallation auf einem anderen Computer verglichen, und die Berechtigungen sollten in Ordnung sein. Allerdings bekomme ich immer noch die Meldung, dass mysqld nicht chdir nach /var/lib/mysql ausführen kann.

Hier die Konsolenausgabe:

thopiekar@gate:~$ sudo systemctl status mysql
● mysql.service - MySQL Community Server
   Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
   Active: activating (start-post) (Result: exit-code) since Di 2016-05-03 22:44:07 CEST; 15s ago
  Process: 9760 ExecStart=/usr/sbin/mysqld (code=exited, status=1/FAILURE)
  Process: 9754 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=0/SUCCESS)
 Main PID: 9760 (code=exited, status=1/FAILURE);         : 9761 (mysql-systemd-s)
    Tasks: 2 (limit: 512)
   CGroup: /system.slice/mysql.service
           └─control
             ├─9761 /bin/bash /usr/share/mysql/mysql-systemd-start post
             └─9894 sleep 1

Mai 03 22:44:07 gate systemd[1]: Stopped MySQL Community Server.
Mai 03 22:44:07 gate systemd[1]: Starting MySQL Community Server...
Mai 03 22:44:08 gate mysqld[9760]: mysqld: Can't change dir to '/var/lib/mysql/' (Errcode: 13 - Permission denied)
Mai 03 22:44:08 gate mysqld[9760]: 2016-05-03T20:44:08.130902Z 0 [Warning] Changed limits: max_open_files: 1024 (requested 5000)
Mai 03 22:44:08 gate mysqld[9760]: 2016-05-03T20:44:08.131097Z 0 [Warning] Changed limits: table_open_cache: 431 (requested 2000)
Mai 03 22:44:08 gate mysqld[9760]: 2016-05-03T20:44:08.274970Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
Mai 03 22:44:08 gate mysqld[9760]: 2016-05-03T20:44:08.275222Z 0 [Warning] Can't create test file /var/lib/mysql/gate.lower-test
Mai 03 22:44:08 gate mysqld[9760]: 2016-05-03T20:44:08.275449Z 0 [Note] /usr/sbin/mysqld (mysqld 5.7.11-0ubuntu6) starting as process 9760 ...
Mai 03 22:44:08 gate mysqld[9760]: 2016-05-03T20:44:08.285371Z 0 [Warning] Can't create test file /var/lib/mysql/gate.lower-test
Mai 03 22:44:08 gate systemd[1]: mysql.service: Main process exited, code=exited, status=1/FAILURE
thopiekar@gate:~$ sudo ls -la /var/lib/mysql/
insgesamt 145460
drw-r-----  8 mysql mysql     4096 Mai  3 22:29 .
drwxr-xr-x 87 root  root      4096 Apr 30 00:05 ..
-rw-r-----  1 mysql mysql       56 Apr 30 00:06 auto.cnf
-rw-r-----  1 mysql mysql        0 Apr 30 00:06 debian-5.7.flag
-rw-r-----  1 mysql mysql      657 Mai  2 10:33 ib_buffer_pool
-rw-r-----  1 mysql mysql 35651584 Mai  2 10:33 ibdata1
-rw-r-----  1 mysql mysql 50331648 Mai  3 22:29 ib_logfile0
-rw-r-----  1 mysql mysql 50331648 Apr 29 15:08 ib_logfile1
-rw-r-----  1 mysql mysql 12582912 Mai  3 22:29 ibtmp1
drwxr-x---  2 mysql mysql     4096 Apr 30 00:06 mysql
drwxr-x---  2 mysql mysql     4096 Mai  2 09:46 MXYZ
drwxr-x---  2 mysql mysql     4096 Apr 30 00:06 performance_schema
drwxr-x---  2 mysql mysql    12288 Apr 30 00:06 sys
drwxr-x---  2 mysql mysql     4096 Apr 29 15:08 XY
drwxr-x---  2 mysql mysql     4096 Apr 29 15:08 XYZ

Kann mir das jemand erklären? Danke!

Antwort1

Sie haben gesagt, dass Sie „habe gerade meinen alten Satz von Datenbanken kopiert" Das Wort "Kopieren" in dieser Situation könnte einen falschen Ansatz bedeuten. Natürlich Ihre "Kopieren" könnte andere, nicht offengelegte Schritte beinhaltet haben. MySQL scheint so strukturiert zu sein,ExportIhre Datenbanken und um dannimportierensie in die "neu"-Datenbank. Kein tatsächliches Kopieren.

Ist Ihre ursprüngliche MySQL-Konfiguration noch betriebsbereit? Sind die Datenbanken noch vorhanden und zugänglich?

Haben Sie MySQL auf Ihrem „neuen“ System installiert?

Haben Sie phpMyAdmin installiert? Wenn nicht, schauen Sie sich an, wie Sie es verwenden könnenmysqldump.

Wenn phpMyAdmin verfügbar ist, verwenden Sie phpMyAdmin, um Ihre Datenbanken zu exportieren. Kopieren Sie anschließend die Ausgabe in den Download-Ordner des "neu" Computersystem.

Auf der "neu" Computersystem, verwenden Sie wieder phpMyAdmin, aber in diesem Fall, um die Datenbanken aus dem Download-Ordner zu importieren. Das Importieren Ihrer Datenbanken sollte Ihr Berechtigungsproblem lösen.

Für weitere ausführlichere Anleitungen zum Exportieren/Importieren suchen Sie im Internet nach "MySQL-Datenbanken exportieren".

Hier ist ein Beispiel für eine zufällige Auswahl basierend auf der Verwendung von mysqldump: "Exportieren und importieren Sie alle MySQL-Datenbanken gleichzeitig"

verwandte Informationen