[mysql] 사용중인 MySQL 구성 파일 확인

MySQL 5.0이 현재 사용중인 구성 파일을 결정하는 명령이 있습니까?



답변

Linux를 사용하는 경우 strace예를 들어로 ‘mysqld’를 시작하십시오 strace ./mysqld.

다른 모든 시스템 호출 중에는 다음과 같은 것이 있습니다.

stat64("/etc/my.cnf", 0xbfa3d7fc)       = -1 ENOENT (No such file or directory)
stat64("/etc/mysql/my.cnf", {st_mode=S_IFREG|0644, st_size=4227, ...}) = 0
open("/etc/mysql/my.cnf", O_RDONLY|O_LARGEFILE) = 3

보시다시피 .cnf 파일은 사용하려고 시도하고 마지막으로 사용하는 파일을 나열합니다.


답변

환상적인 “고성능 MySQL”O’Reilly 책에서 발췌 :

$ which mysqld
/usr/sbin/mysqld

$ /usr/sbin/mysqld --verbose --help | grep -A 1 "Default options"
Default options are read from the following files in the given order:
/etc/mysql/my.cnf ~/.my.cnf /usr/etc/my.cnf


답변

당신이 mysql --verbose --help | less그것을 실행 .cnf하면 찾을 파일 11 행에 대해 알려줍니다 .

mysql --print-defaults구성 값이 어떻게 사용되는지 보여줄 수도 있습니다. 또한 어떤 구성 파일을로드하는지 식별하는 데 유용 할 수 있습니다.


답변

Windows를 사용 중이며 최신 버전의 MySQL 커뮤니티 5.6을 설치했습니다.

구성 파일이 사용하는 것을 확인하기 위해 관리 도구> 서비스> MySQL56> 마우스 오른쪽 버튼으로 클릭> 속성으로 이동하여 실행 파일 경로를 확인했습니다.

“C : / Program Files / MySQL / MySQL Server 5.6 / bin \ mysqld”–defaults-file = “C : \ ProgramData \ MySQL \ MySQL Server 5.6 \ my.ini”MySQL56


답변

대안은 사용하는 것입니다

mysqladmin variables


답변

mysqld –help –verbose는 위험하다. 인스턴스 실행을 위해 pidfile을 쉽게 덮어 쓸 수 있습니다! –pid-file = XYZ와 함께 사용하십시오.

아, 인스턴스가 두 개 이상 실행 중이라면 실제로 사용할 수 없습니다. 기본값 만 표시됩니다.

그것에 관한 정말 좋은 기사 :

MySQL 구성 파일을 찾는 방법은 무엇입니까?


답변

우분투에서 빠른 테스트를했습니다.

  • /etc/mysql/my.cnf를 생성 한 mysql-server 설치

  • mysqld –verbose –help | grep -A 1 “기본 옵션”

110112 13:35:26 [참고] 플러그인 ‘FEDERATED’가 비활성화되었습니다.
기본 옵션은 주어진 순서대로 다음 파일에서 읽습니다. /etc/my.cnf /etc/mysql/my.cnf /usr/etc/my.cnf ~ / .my.cnf

  • 각각 포트 번호가 다른 /etc/my.cnf 및 /usr/etc/my.cnf 작성

  • mysql을 다시 시작-/usr/etc/my.cnf에 설정된 포트 번호를 사용하고있었습니다

또한 mysqld에 –defaults-file 옵션을 찾았습니다. 여기에 구성 파일을 지정하면 / usr / sbin / mysqld –verbose –help |에 의해 리턴되는 내용에 관계없이 해당 구성 파일 만 사용됩니다. grep -A 1 “기본 옵션”