Подтвердить что ты не робот

Mysql error: ERROR 1018 (HY000): Не удается прочитать директорию '.' (errno: 13)

когда я пытаюсь просмотреть базы данных в mysql, я получаю эту ошибку:

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

И это перестает показывать мое приложение...

Мой отладчик django говорит:

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

Вот мой файл настроек:

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.

Что может вызвать проблему?

Заранее спасибо

4b9b3361

Ответ 1

Вам нужно установить права собственности и разрешения для каталога:

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

Примечание: -R делает команды рекурсивными - вы можете опустить его, если в /var/lib/mysql/ нет поддиректоров.

Ответ 2

Для нас, пользователей OS X, это должно работать:

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

Изменение: В зависимости от того, как вы установили MySQL ваш пробег может варьироваться. Я установил с помощью установщика dmg сервера сообщества mysql на mysql.com

Если это не работает, попробуйте запустить which mysql чтобы увидеть, где находится ваша установка mysql, а затем замените /usr/local/mysql/ в приведенной выше команде тем, что находится перед каталогом 'bin'.

Например, в моей системе which mysql выдает следующий вывод: /usr/local/mysql/bin/mysql

поэтому мой путь - /usr/local/mysql/

Ответ 3

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

chmod -R 755 /var/lib/mysql/

Я могу подтвердить, что эти два оператора chmod работали для меня (Webmin не видел базы данных и не показывал таблицы), но я не уверен, почему мне пришлось это делать после настройки, возможно, двух десятков серверов (Centos) с MySQL за последние несколько лет.

Ответ 4

В CentOS/RedHat вы должны сделать то же самое на другом пути:

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

Ответ 5

osx high sierra использует следующую команду:

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

Ответ 6

У меня есть эта проблема в Ubuntu 18.04 + MySQL, я изменил все права доступа к каталогу MySQL, но не работает