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

Ошибка разрешений 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)

Я пробовал chown-ing обратно в root, но безуспешно. Кто-нибудь знает, как это исправить без переустановки mysql? Если мне придется переустанавливать mysql, как мне сделать дамп баз данных без доступа к командной строке, чтобы не потерять все данные.

Спасибо!

решение1

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

решение2

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

решение3

$ cd /usr/lcoal/mysql/

$ ls -l

$ sudo -R chown mysql:mysql data/

data/— это каталог, в /usr/local/mysql/котором находятся все базы данных.

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

Связанный контент