[mysql] Homebrew mysql 설치의 경우 my.cnf는 어디에 있습니까?

Homebrew mysql 설치의 경우 my.cnf는 어디에 있습니까? 하나를 설치합니까?



답변

기본적으로 my.cnf는 없습니다. 따라서 MySQL은 모든 기본 설정으로 시작합니다. 기본값을 재정의하기 위해 고유 한 my.cnf를 작성하려면 /etc/my.cnf에 배치하십시오.

또한 mysql --help나열된 conf 위치를 찾아서 살펴볼 수 있습니다.

Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf /usr/etc/my.cnf ~/.my.cnf
The following groups are read: mysql client
The following options may be given as the first argument:
--print-defaults        Print the program argument list and exit.
--no-defaults           Don't read default options from any option file.
--defaults-file=#       Only read default options from the given file #.
--defaults-extra-file=# Read this file after the global files are read.

보시다시피, conf 파일을 우회하거나 명령 행에서 mysql을 호출 할 때 읽을 다른 파일을 지정하는 옵션도 있습니다.


답변

homebrew mysql에는 설치의 support-files 폴더에 샘플 구성 파일이 포함되어 있습니다.

ls $(brew --prefix mysql)/support-files/my-*

기본 설정을 변경해야하는 경우이 중 하나를 시작점으로 사용할 수 있습니다.

cp $(brew --prefix mysql)/support-files/my-default.cnf /usr/local/etc/my.cnf

@rednaw가 지적했듯이 MySQL의자가 설치는 아마도 /usr/localmy.cnf 파일을 시스템 /etc폴더에 추가해서는 안되므로 파일 을에 복사하도록 명령을 변경했습니다 /usr/local/etc.

MySQL이 아닌 MariaDB를 사용하는 경우 다음을 사용하십시오.

cp $(brew --prefix mariadb)/support-files/my-small.cnf /usr/local/etc/my.cnf


답변

알아내는 한 가지 방법 :

sudo /usr/libexec/locate.updatedb
# wait a few minutes for it to finish
locate my.cnf


답변

정말 도움이되지 못했습니다. /etc/my.cnf 파일의 설정을 덮어 쓸 수 없습니다. 그래서 John이 https://stackoverflow.com/a/7974114/717251이 제안한 것처럼 검색했습니다.

sudo /usr/libexec/locate.updatedb
# wait a few minutes for it to finish
locate my.cnf

다른 my.cnf를 발견했습니다.

/usr/local/Cellar/mysql/5.6.21/my.cnf

이 파일을 변경하면 나를 위해 일했습니다! 발사 에이전트를 다시 시작하는 것을 잊지 마십시오 :

launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist

최신 정보:

최근에 homebrew를 설치 한 경우 brew services 명령을 사용하여 mysql을 다시 시작해야합니다 (설치된 homebrew mysql 버전 (예 : mysql 또는 mysql@5.7 사용) 사용).

brew services stop mysql
brew services start mysql


답변

내 시스템에서 그것은

nano /usr/local/etc/my.cnf.default 

템플릿으로

nano /usr/local/etc/my.cnf

일하는 것처럼.


답변

이후 mysql --help쇼 파일 목록, 내가하는 파이프에 유용 결과를 찾을 ls존재하는 그 어떤보고 :

$ mysql --help | grep /my.cnf | xargs ls
ls: /etc/my.cnf: No such file or directory
ls: /etc/mysql/my.cnf: No such file or directory
ls: ~/.my.cnf: No such file or directory
/usr/local/etc/my.cnf

내 (Homebrew installed) MySQL 5.7의 경우 파일이에있는 것 같습니다 /usr/local/etc/my.cnf.


답변

쉘 타입 my_print_defaults --help

결과의 맨 아래에서 서버가 구성을 읽는 파일을 볼 수 있어야합니다. 다음과 같이 인쇄됩니다.

Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf /usr/local/etc/my.cnf ~/.my.cnf