it-swarm.com.de

mysql-Fehler: ERROR 1018 (HY000): Verzeichnis 'von' kann nicht gelesen werden. (errno: 13)

wenn ich versuche, die Datenbanken in Mysql anzuzeigen, erhalte ich diesen Fehler:

ERROR 1018 (HY000): Can't read dir of '.' (errno: 13)

Und damit wird meine App nicht mehr angezeigt ...

Mein Django-Debugger sagt:

(2002, "Can't connect to local MySQL server through socket '/var/lib/mysql/my_database' (13)")

Hier ist meine Einstellungsdatei:

DATABASES = {
'default': {
    'ENGINE': 'Django.db.backends.mysql', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'Oracle'.
    'NAME': 'my_database',                      # Or path to database file if using sqlite3.
    'USER': 'root',                      # Not used with sqlite3.
    'PASSWORD': '****',                  # Not used with sqlite3.
    'Host': '',                      # Set to empty string for localhost. Not used with sqlite3.
    'PORT': '3306',                      # Set to empty string for default. Not used with sqlite3.

Was kann das Problem verursachen?

Danke im Voraus

34
Tony Kyriakidis

Sie müssen den Besitz und die Berechtigungen für das Verzeichnis festlegen:

chown -R mysql:mysql /var/lib/mysql/ #your mysql user may have different name
chmod -R 755 /var/lib/mysql/

Hinweis: -R macht Befehle rekursiv - Sie können es weglassen, wenn /var/lib/mysql/ keine Unterverzeichnisse enthält.

62
scriptin

Für uns OS X-Benutzer sollte dies funktionieren:

Sudo chown -R mysql:mysql /usr/local/mysql/
Sudo chmod -R 755 /usr/local/mysql/

Bearbeiten: Je nachdem, wie Sie MySQL installiert haben, kann Ihre Laufleistung variieren. Ich habe mit dem mysql community server dmg-Installationsprogramm auf mysql.com installiert

Wenn dies nicht funktioniert, führen Sie which mysql aus, um zu sehen, wo sich Ihre mysql-Installation befindet, und ersetzen Sie dann /usr/local/mysql/ im obigen Befehl durch das, was sich vor dem 'bin'-Verzeichnis befindet. 

Auf meinem System erzeugt which mysql beispielsweise die folgende Ausgabe: /usr/local/mysql/bin/mysql

so ist mein Pfad /usr/local/mysql/

31
denodster
chown -R mysql:mysql /var/lib/mysql/

chmod -R 755 /var/lib/mysql/

Ich kann bestätigen, dass diese beiden chmod-Anweisungen für mich funktionierten (Webmin konnte weder die Datenbanken sehen noch Tabellen anzeigen), aber ich bin mir nicht sicher, warum ich dies tun musste, nachdem ich zwei Dutzend Server (Centos) mit MySQL eingerichtet hatte die letzten Jahre.

1
mfs

Bei CentOS/RedHat sollten Sie dasselbe auf einem anderen Pfad tun: 

chown -R mysql:mysql /data/mysql/
chmod -R 755 /data/mysql/
1

osx High Sierra verwendet den folgenden Befehl, um das Problem zu lösen:

chown -R mysql:mysql /usr/local/mysql
0
Airful