Я добавляю это сюда, потому что я столкнулся с этой проблемой несколько раз после установки другого программного обеспечения.MySQL работал отлично в течение нескольких дней, а затем внезапно я получаю эту ошибку.
Кажется, это происходит, когда я что-то устанавливаю (например ,asticsearch или веб-сервер Puma).Разрешения MySql снова возвращаются (обратно ко мне, а не _mysql
).Не знаю почему.
- MacOS Sierra
- Homebrew 1.0.5-43-g41b2df8 (2016-10-02)
- MySQL 5.7.15
Итак, я обнаружил, что одной из причин этого являются разрешения на расположение, где MySQL хранит ваши базы данных, которые по умолчанию находятся здесь:
/usr/local/var/mysql
Если вы посмотрите в эту папку, вы увидитефайл
<your computer name>.err
Если вы заглянете внутрь этого файла (more
it или cat
it), вы, вероятно, увидите эту ошибку:
[ERROR] InnoDB: The innodb_system data file 'ibdata1' must be writable
Если это так, то вы ее знаетеэто проблема с правами доступа.
Если вам все равно, вы можете просто запустить MySQL, просто запустив mysqld
(и оставить этот терминал открытым).
Если вам все равно:
ls -al /usr/local/var/mysql
вы заметите, что разрешения, вероятно, полностью установлены для вас (вашей учетной записи пользователя).Это означает, что mysql не может монтировать ваши базы данных, когда вы запускаете его с помощью ярлыка homebrew sudo mysql.server start
[даже если вы используете sudo для запуска в режиме 'admin'].
Итак, измените разрешения:
$ sudo chown -R _mysql /usr/local/var/mysql
$ sudo chmod -R o+rwx /usr/local/var/mysql
Тогда будет работать.