mysql 시작을 차단하는 의류

mysql 시작을 차단하는 의류

우분투 12.04를 실행 중이고 mysql 서버의 데이터 디렉터리(동일한 소유권 및 권한 유지)를 /var/lib/mysql에서 /etc/mysql/my.cnf의 /u/apps/mysql로 ​​옮긴 다음 /etc를 업데이트했습니다. /apparmor.d/usr.sbin.mysqld에는 다음이 포함됩니다.

/u/apps/mysql r,
/u/apps/mysql/** rwk,

하지만 오류가 발생합니다.

InnoDB: Reading tablespace information from the .ibd files...
130906 13:55:31  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.
InnoDB: File name .
InnoDB: File operation call: 'opendir'.
InnoDB: Cannot continue operation.

그래서 의류를 비활성화하고 시작합니다. 열려고 하는 디렉토리가 '.'인 것 같습니다. 나는 /u/apps/mysql이 될 것이라고 가정했지만 분명히 그렇지 않습니다. 의류 구성을 변경한 이후로 확실히 더 발전했지만 그것이 무엇에 방해가 되는지 전혀 모르겠습니다. 무슨 일인지 아이디어가 있나요? 감사해요...

답변1

mysql datadir에 권한 문제가 있는 것 같습니다.

  130906 13:55:31  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.

datadir의 권한을 변경하고 소유권을 mysql로 ​​변경할 수도 있습니다. 이 작업이 완료되면 Mysql을 다시 시작하십시오.

답변2

글쎄, 원래 항목이 "/var/lib/mysql/** rwk"이고 /u/apps/mysql이 분명히 mysql을 소유했을 때 apparmor가 "/u/apps/mysql/** rwk"에서 문제를 일으켰는지 잘 모르겠습니다. .mysql, 그러나 설정을 "/u/apps/** rwk"로 변경하면 작동했습니다.

관련 정보