
Я пытался установить 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
. Вы можете получить доступ к своей базе данных.