변수 '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.