변수 'general_log_file'은 '/var/lib/msyql/ubuntu.log'값으로 설정할 수 없습니다.


10

mysql general_log_file변수 의 값을 다른 것으로 변경했으며 이제 원래의 값으로 다시 변경하려고합니다 /var/lib/mysql/ubuntu.log. 그러나 내가 할 때 :

SET GLOBAL general_log_file = '/var/lib/msyql/ubuntu.log';

이 오류가 발생합니다.

오류 1231 (42000) : 변수 'general_log_file'을 '/var/lib/msyql/ubuntu.log'값으로 설정할 수 없습니다.

무슨 일이야?

답변:


22

ERROR 1231 (42000): Variable 'general_log_file' can't be set to the value of '/var/lib/msyql/ubuntu.log'

무슨 일이야?

간단한 대답은이 파일이 존재하지 않는다는 것입니다.

너무 빨리 입력합니다. 파일 이름에 오타가 있습니다 /var/lib/mysql/ubuntu.log.


1
폴더가 있으면 mysql사용자 (또는 mysqld프로세스를 소유 한 사람) 가 폴더 에 쓸 수 있는 적절한 권한이 필요할 수 있습니다 .
mwfearnley

2

나는 이것이 매우 오래된 대답이라는 것을 알고 있지만 다른 누군가가 여기에서 답을 찾고있는 경우를 대비하여.

제 경우에는 문제가 대상 폴더에서 올바르지 않은 권한에 있습니다.


2
내가 가진 권한과 필요한 것을 (그리고 그렇지 않은 777) 것에 대해 더 정확하게 말할 수 있다면 귀하의 답변을 찬성합니다 .
MadHatter

1
루트 만 해당 디렉토리에 쓸 수있는 권한이있었습니다. 즉, mysql 사용자에게는 쓰기 권한이 없습니다. 여기에서이 문제를 해결하는 몇 가지 옵션이 있습니다. 777 권한을 추가하거나 (내가했던 것처럼) mysql 사용자가 쓸 수있는 디렉토리를 만드십시오.
Tata

777권한은 실제로 매우 좋지 않은 생각입니다.
MadHatter

1
내 경우에는-이것은 "정크"폴더이기 때문에 전혀 나쁘지 않았습니다. 질문에서와 같이 파일을 /var/lib/mysql/ubuntu.log에 쓰도록 설정하지 않았기 때문에 처음에 777의 아이디어를 추가하지 않았습니다. 폴더가 존재하더라도 올바른 권한이 있는지 확인하는 것이 좋습니다.
Tata
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.