Я пытаюсь заставить MySQL, установленный на macports, использовать каталог данных, хранящийся в моем домашнем каталоге, защищенном FileVault.
Я использовал sudo cp -a /opt/local/var/db/mysql5 ~/db/
(-a
чтобы гарантировать, что права доступа к файлу остаются неизменными), а затем заменил исходный каталог mysql5 на мягкую ссылку: sudo ln -s ~/db/mysql5 /opt/local/var/db/mysql5
Тем не менее, когда я сейчас пытаюсь запустить MySQL, это не удается. Он следует по мягкой ссылке, по крайней мере, в той степени, в которой он изменяет некоторые файлы в каталоге ~/db/mysql5
, в частности, журнал ошибок, который добавляется к нему так:
110108 15:33:08 mysqld_safe Starting mysqld daemon with databases from /opt/local/var/db/mysql5
110108 15:33:08 [Warning] '--skip-locking' is deprecated and will be removed in a future release. Please use '--skip-external-locking' instead.
110108 15:33:08 [Warning] '--log_slow_queries' is deprecated and will be removed in a future release. Please use ''--slow_query_log'/'--slow_query_log_file'' instead.
110108 15:33:08 [Warning] '--default-character-set' is deprecated and will be removed in a future release. Please use '--character-set-server' instead.
110108 15:33:08 [Warning] Setting lower_case_table_names=2 because file system for /opt/local/var/db/mysql5/ is case insensitive
110108 15:33:08 [Note] Plugin 'FEDERATED' is disabled.
110108 15:33:08 [Note] Plugin 'ndbcluster' is disabled.
/opt/local/libexec/mysqld: Table 'mysql.plugin' doesn't exist
110108 15:33:08 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
110108 15:33:09 InnoDB: Started; log sequence number 4 1596664332
110108 15:33:09 [ERROR] /opt/local/libexec/mysqld: Can't create/write to file '/opt/local/var/db/mysql5/mac.local.pid' (Errcode: 13)
110108 15:33:09 [ERROR] Can't start server: can't create PID file: Permission denied
110108 15:33:09 mysqld_safe mysqld from pid file /opt/local/var/db/mysql5/gPod.local.pid ended
Я не могу понять, почему MySQL не может создать pid
файл, поскольку создание вручную с помощью пользователя _mysql
завершается успешно (sudo -u _mysql touch mac.local.pid
изнутри ~/db/mysql5
)
Есть идеи, как решить эту проблему?