Я гуглил и бился головой об это уже довольно давно. Я не устанавливал 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