Назад | Перейти на главную страницу

Ошибка разрешений MySQL при отображении баз данных

Я пытался установить homebrew и очень-очень глупо сделал это:

sudo chown -R $USER /usr/local

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

В любом случае, что сделано, то сделано, но теперь я получаю такую ​​ошибку:

$ mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 548
Server version: 5.1.33 Source distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> show databases;
ERROR 1018 (HY000): Can't read dir of '.' (errno: 13)

Я безрезультатно пытался вернуться к корневому каталогу. Кто-нибудь знает, как это исправить без переустановки mysql? При желании, если мне нужно переустановить mysql, как я могу выгрузить свои базы данных без доступа к командной строке, чтобы я не потерял все свои данные.

Спасибо!

Определите, от имени какого пользователя работает mysql (я бы использовал ps aux |grep mysql, но ваши флаги для ps могут отличаться), найдите, где установлен mysql (мой показывает в результатах ps как --datadir=/usr/local/mysql/data, но вам может потребоваться, чтобы ваш экран был достаточно широким, чтобы он не усекал команду), а затем снова смените владельца на правильного пользователя.

Найдите каталог данных mysql и покажите его пользователю MySQL (обычно mysql: mysql) ...

$ cd /usr/lcoal/mysql/

$ ls -l

$ sudo -R chown mysql:mysql data/

data/ это каталог в /usr/local/mysql/ который содержит всю базу данных.

Теперь сделай mysql -u user -p password. Вы можете получить доступ к своей базе данных