FileVault로 보호되는 홈 디렉토리에 저장된 데이터 디렉토리를 사용하기 위해 macports가 설치된 MySQL을 얻으려고합니다.
내가 사용 sudo cp -a /opt/local/var/db/mysql5 ~/db/
합니다 ( -a
보장하기 위해 파일 권한은 그대로 유지) 다음 소프트 링크 원래 mysql5 디렉토리를 대체 :sudo ln -s ~/db/mysql5 /opt/local/var/db/mysql5
그러나 이제 MySQL을 시작하려고하면 실패합니다. 적어도 ~/db/mysql5
dir의 일부 파일 , 특히 여기에 첨부되는 오류 로그를 수정하는 정도까지는 소프트 링크를 따릅니다 .
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
)
이 문제를 해결하는 방법에 대한 아이디어가 있습니까?
-a
는을 포함하지 않는 것으로 생각했지만 다음을 포함 한다고 생각했습니다 . 그러나 해리가 말하는 것은 암시 적이라고 생각 합니까? 실제로 문제가 될 수 있습니다. -R
-a Same as -pPR
-P
-P If the -R option is specified, no symbolic links are followed.
cp -a
결국 괜찮습니다.
/opt/local/var/db/mysql5
하위 디렉토리가 있는 경우 "cp -a"는 "cp -R"이어야합니다 .