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

Невозможно запустить MySQL 5.6, установленный через macports, в OS X 10.8.5 (новая ошибка установки: 13 - разрешение отклонено)

Я гуглил и бился головой об это уже довольно давно. Я не устанавливал MySQL в этой системе раньше, просто установил версию 5.6 через MacPorts и запустил sudo mysql_install_db после установки порта. Однако я не мог запустить сервер.

Чтобы диагностировать проблему, я попробовал запустить sudo -u _mysql /opt/local/lib/mysql56/bin/mysqld и получить результат вроде ...

2013-10-03 21:40:13 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2013-10-03 21:40:13 23189 [Warning] Setting lower_case_table_names=2 because file system for /opt/local/var/db/mysql56/ is case insensitive
2013-10-03 21:40:13 23189 [Note] Plugin 'FEDERATED' is disabled.
/opt/local/lib/mysql56/bin/mysqld: Can't find file: './mysql/plugin.frm' (errno: 13 - Permission denied)
...
2013-10-03 21:40:13 7fff7c8c2180  InnoDB: Operating system error number 13 in a file operation.
InnoDB: The error means mysqld does not have the access rights to
InnoDB: the directory.
...

Когда я бегу sudo ls -l /opt/local/var/db/mysql56/, Я вижу...

-rw-r--r--   1 root    _mysql         0 Aug  4 15:00 .turd_mysql56-server
-rw-rw----   1 _mysql  _mysql        56 Oct  2 23:09 auto.cnf
-rw-rw----   1 _mysql  _mysql  50331648 Oct  3 22:50 ib_logfile0
-rw-rw----   1 _mysql  _mysql  50331648 Oct  2 23:09 ib_logfile1
-rw-rw----   1 _mysql  _mysql  12582912 Oct  3 00:10 ibdata1
drwx------  81 root    _mysql      2754 Oct  3 00:10 mysql
drwx------  55 root    _mysql      1870 Oct  3 00:10 performance_schema
drwx------   2 root    _mysql        68 Oct  3 00:09 test

Когда я бегу sudo ls -l /opt/local/var/db/mysql56/mysql, Я вижу...

...
-rw-rw----  1 root  _mysql    1024 Oct  3 00:09 plugin.MYI
-rw-rw----  1 root  _mysql    8586 Oct  3 00:09 plugin.frm
-rw-rw----  1 root  _mysql       0 Oct  3 00:09 proc.MYD
...

Я предполагаю, что это то, что я должен увидеть в отношении владения файлом и разрешений. Любые идеи?

Войдите в систему как root и выполните:

chown -R _mysql:_mysql /opt/local/var/db/mysql56

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

cd /opt/local/var/db/mysql56/mysql
chown -R _mysql mysql performance_schema test