Programing

macOS에서 my.cnf 파일의 위치

lottogame 2020. 5. 31. 09:56
반응형

macOS에서 my.cnf 파일의 위치


이 자습서따라 MySQL에 원격으로 액세스 하려고합니다 . 문제는 my.cnf파일을 어디에 배치해야 하는가입니다. Mac OS X Lion을 사용하고 있습니다.


MySQL 포럼 의이 스레드 는 말합니다 :

기본적으로 OS X 설치는 my.cnf를 사용하지 않으며 MySQL은 기본값을 사용합니다. 자신의 my.cnf를 설정하려면 / etc에 바로 파일을 만들면됩니다.

OS X는에서 구성 파일 예제를 제공합니다 /usr/local/mysql/support-files/.

그리고 거기에서 찾을 수 없다면, MySQLWorkbench는 다음을 통해이를 생성 할 수 있습니다.

  1. 연결 열기
  2. 메뉴의 'INSTANCE'에서 'Options File'을 선택하십시오.
  3. MySQLWorkbench가 my.cnf를 검색하고 찾을 수 없으면 자동으로 생성합니다.

MySQL이 Homebrew를 통해 설치 될 때 Mac OS X Maverick의 경우 /usr/local/opt/mysql/my.cnf


일반적으로 Unix 및 Unix 계열 시스템에서 MySQL / MariaDB 프로그램은 다음 위치에서 지정된 순서로 구성 / 시작 파일을 읽습니다.

  • /etc/my.cnf -글로벌
  • /etc/mysql/my.cnf -글로벌
  • SYSCONFDIR/my.cnf -글로벌

    SYSCONFDIRMySQL을 빌드 할 때 SYSCONFDIR옵션으로 지정된 디렉토리를 나타냅니다 CMake. 기본적으로이 디렉토리는 컴파일 된 설치 디렉토리 아래에있는 etc 디렉토리입니다.

  • $MYSQL_HOME/my.cnf -서버 별 (서버 전용)

    MYSQL_HOME서버 별 my.cnf파일 이있는 디렉토리의 경로를 포함하는 환경 변수 입니다. 경우는 MYSQL_HOME설정하면 사용하여 서버를 시작하지 않는 mysqld_safe프로그램을 mysqld_safe여기에 세트를 BASEDIR, MySQL의 기본 설치 디렉토리.

  • 있는 --defaults-extra-file=path경우 지정된 파일

  • ~/.my.cnf -사용자 별
  • ~/.mylogin.cnf -사용자 별 (클라이언트 만 해당)

출처 : 옵션 파일 사용 .

참고 : Unix 플랫폼에서 MySQL은 세계적으로 쓸 수있는 구성 파일을 무시합니다. 이것은 보안 조치로 의도 된 것입니다.


또한 Mac에서는 간단한 확인 방법이 있습니다.

  1. 운영: sudo fs_usage | grep my.cnf

    그러면 해당 파일과 관련된 모든 파일 시스템 활동이 실시간으로보고됩니다.

  2. 다른 터미널에서 MySQL / MariaDB를 다시 시작하십시오.

    brew services restart mysql
    

    또는:

    brew services restart mariadb
    
  3. 로 터미널에 fs_usage올바른 위치가 표시되어야합니다. 예 :

    15:52:22  access            /usr/local/Cellar/mariadb/10.1.14/my.cnf                                         0.000002   sh          
    

    따라서 파일이 존재하지 않으면 파일을 작성하십시오.


나는 당신이 (에서 가져온 버전 5.5 my.cnf 파일의 가능한 위치를 사용하지만, 여기에있는 MySQL의 버전을 모르는 여기에 맥 OS X에 대한)를 :

  1. /etc/my.cnf
  2. /etc/mysql/my.cnf
  3. SYSCONFDIR/my.cnf
  4. $MYSQL_HOME/my.cnf
  5. defaults-extra-file(있는 경우로 지정된 파일 --defaults-extra-file=path)
  6. ~/.my.cnf

Mac OS X El Capitan의 MySQL 5.7 : /usr/local/mysql/etc/my.cnf

에서 기본 conf 복사 /usr/local/mysql/support-files/my-default.cnf


macOS Sierra를 사용 중이고 파일이 존재하지 않으면 다음을 실행하십시오.

mysql --help or mysql --help | grep my.cnf

mysql에 대한 가능한 위치 및로드 / 읽기 my.cnf 순서를 확인하려면 제안 된 디렉토리 중 하나에 my.cnf 파일을 작성한 후 다음 행을 추가하십시오.

[mysqld] sql_mode = STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

sudo touch /{preferred-path}/my.cnf그런 다음 파일을 편집하여 SQL 모드를 추가 할 수 있습니다

sudo nano /{preferred-path}/my.cnf

그런 다음 mysql을 다시 시작하십시오. 행복한 코딩


맥 OS X 매버릭스 현재의 MySQL 패키지 (이 글을 쓰는 시점에서 MySQL을-5.6.17-osx10.7-x86_64의)가 자동으로 설치 중에 my.cnf 파일을 생성합니다.

그것은에 있습니다 /usr/local/mysql-5.6.17-osx10.7-x86_64/my.cnf
버전에 따라 경로를 적응.


당신은 터미널을 열고 입력 할 수 있습니다 locate my.cnf


Homebrew에서 설치 한 mysql 5.6.22에서 my.cnf의 경로는 다음과 같습니다.

/usr/local/opt/mysql/my.cnf 

그래서이 중 어느 것도 나를 위해 일하지 않았습니다. mysql 커뮤니티 서버의 현재 dmg 설치를 사용하고 있습니다. ps는 my.cnf에서 일반적으로 가장 중요한 매개 변수가 모두 명령 행에 전달되어 어디에서 왔는지 알 수 없었 음을 보여줍니다. 내 상자를 전체 텍스트로 검색 한 후 다음에서 찾았습니다.

/Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist

그래서 당신은 그것들을 거기에서 바꾸거나 꺼내어 당신이 그것을 결정하기로 한 곳이라면 어디든지 my.cnf에있는 것들을 실제로 존중할 것입니다.

즐겨!

해당 파일에있는 파일 정보의 예 :

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>             <string>com.oracle.oss.mysql.mysqld</string>
    <key>ProcessType</key>       <string>Interactive</string>
    <key>Disabled</key>          <false/>
    <key>RunAtLoad</key>         <true/>
    <key>KeepAlive</key>         <true/>
    <key>SessionCreate</key>     <true/>
    <key>LaunchOnlyOnce</key>    <false/>
    <key>UserName</key>          <string>_mysql</string>
    <key>GroupName</key>         <string>_mysql</string>
    <key>ExitTimeOut</key>       <integer>600</integer>
    <key>Program</key>           <string>/usr/local/mysql/bin/mysqld</string>
    <key>ProgramArguments</key>
        <array>
            <string>/usr/local/mysql/bin/mysqld</string>
            <string>--user=_mysql</string>
            <string>--basedir=/usr/local/mysql</string>
            <string>--datadir=/usr/local/mysql/data</string>
            <string>--plugin-dir=/usr/local/mysql/lib/plugin</string>
            <string>--log-error=/usr/local/mysql/data/mysqld.local.err</string>
            <string>--pid-file=/usr/local/mysql/data/mysqld.local.pid</string>
             <string>--keyring-file-data=/usr/local/mysql/keyring/keyring</string>
             <string>--early-plugin-load=keyring_file=keyring_file.so</string>

        </array>
    <key>WorkingDirectory</key>  <string>/usr/local/mysql</string>
</dict>
</plist>

macOs sierra 10.12.6 mysql 버전 : 5.7.18_1 find my.cnf를 실행 하면 경로는 다음과 같습니다.

/usr/local/etc/my.cnf

도움이되기를 바랍니다.


파일을 확인할 수 있습니다

/usr/local/bin/mysql.server어디 my.conf에서 읽고 있는지 참조하십시오 .

보통은 출신 /etc/my.cnf이나 ~/my.cnf또는~/.my.cnf


MAMP 3.5 Mac El Capitan의 경우 별도의 빈 구성 파일을 작성하고 mysql에 대한 추가 설정을 작성하십시오.

sudo vim /Applications/MAMP/Library/my.cnf

그리고 이런 식으로 추가

[mysqld]
max_allowed_packet = 256M

원하는 디렉토리에 파일을 만들 수 있습니다. 생성 후, 당신은 mysql 설정의 경로를 "알 수있다":

여기에 이미지 설명을 입력하십시오


터미널을 열고 아래 명령을 사용하십시오.

sudo find / -name my.cnf

homebrew가 설치된 macOS Sierra에서 체크인했습니다. MySql 5.7.12

지원 파일은 다음 위치에 있습니다.

/usr/local/opt/mysql/support-files

또는으로 복사 my-default.cnf하면 다시 시작할 때 구성이 선택됩니다./etc/my.cnf/etc/mysql/my.cnf


macOS High Sierra 버전 10.13.6

mysql Ver 14.14 Distrib 5.7.22, EditLine 래퍼를 사용하는 osx10.13 (x86_64) Copyright (c) 2000, 2018, Oracle 및 / 또는 그 계열사. 판권 소유

지정된 옵션으로 다음 파일에서 기본 옵션을 읽습니다.

/etc/my.cnf 
/etc/mysql/my.cnf 
/usr/local/etc/my.cnf 
~/.my.cnf

macOS High Sierra 버전 10.13.3에서 mysql 버전 5.7.17을 사용하고 있으며 여기에서 mysql 구성 파일을 찾았습니다.

cd /usr/local/mysql/support-files/my-default.cnf

it should be usually under /usr/local/etc on mac if you do not find it you can create one


READ THE DOCS!

The MySQL Documents for which version you are using will help. It is usually described as a Options File or MySQL Config File.
The docs have the location of these files in the documentation, As well as other VITAL information like the location & small examples of what the config file must look like.

MySQL Version 8

MySQL Version 5.7

MySQL Version 5.6

MySQL Version 5.5

MySQL Version 5.6 Japanese

Important Notes:

On Unix platforms, MySQL ignores configuration files that are world-writable.

This is intentional as a security measure.

In other words, if you have the wrong permissions set on your config file the will NOT load.

Example of initial setup permission of one of the config files:

RIZZOMBP$ ls -lah /etc/my.cnf
-rw-r--r--  1 myusername  wheel     0B Feb 25 20:40 /etc/my.cnf

Note:

It is possible to use !include directives in option files to include other option files and !includedir to search specific directories for option files.....

...MySQL makes no guarantee about the order in which option files in the directory will be read...

Any files to be found and included using the !includedir directive on Unix operating systems must have file names ending in .cnf. On Windows, this directive checks for files with the .ini or .cnf extension.

Examples of how to find your location of your config or log files ect.:

SQL

This will not show you the config file but will help you locate your installation files/folders.

MySQL Version 5.7 & 8+

SELECT * FROM PERFORMANCE_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_VALUE LIKE '%\/%';

MySQL Version <= 5.6

SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_VALUE LIKE '%\/%';

SHELL/Terminal

RIZZOMBP$ mysql --help | grep "Default options" -A 1

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

Above Command Credit To: Erwin Mayer from ServerFault

RIZZOMBP$ mysqld --verbose --help | grep '/my.cnf' -B 1

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

OR

RIZZOMBP$ ps aux | grep -i mysqld | grep -v $USER

_mysql 106 0.4 2.5 4232336 422112 ?? Ss 7:01PM 0:57.12
/usr/local/mysql/bin/mysqld
--user=_mysql
--basedir=/usr/local/mysql
--datadir=/usr/local/mysql/data
--plugin-dir=/usr/local/mysql/lib/plugin
--log-error=/usr/local/mysql/data/mysqld.local.err
--pid-file=/usr/local/mysql/data/mysqld.local.pid
--keyring-file-data=/usr/local/mysql/keyring/keyring
--early-plugin-load=keyring_file=keyring_file.so

Sample File

Should you need a detailed Reference Sample my.cnf:

  1. https://gist.github.com/search?utf8=%E2%9C%93&q=my.cnf+mysql&ref=searchresults
  2. https://www.linode.com/community/questions/5749/mysql-sample-config-files
  3. https://www.fromdual.com/mysql-configuration-file-sample

No affiliation/association to the URL's

My System:

RIZZOMBP$ sw_vers
ProductName:    Mac OS X
ProductVersion: 10.14.3
BuildVersion:   18D109
RIZZOMBP$ mysql -V
mysql  Ver 8.0.15 for macos10.14 on x86_64 (MySQL Community Server - GPL)
RIZZOMBP$ mysqld -V
/usr/local/mysql-8.0.15-macos10.14-x86_64/bin/mysqld 
Ver 8.0.15 for macos10.14 on x86_64 (MySQL Community Server - GPL)

For Mac , what worked for me is creating a .my.cnf file in my ~ path. Hope this helps.


Copy /usr/local/opt/mysql/support-files/my-default.cnf as /etc/my.cnf or /etc/mysql/my.cnf and then restart mysql.


For me in sierra version

copy the default configuration at:

/usr/local/Cellar/mysql/5.6.27/support-files/my-default.cnf

to

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


In my case, the file did not exist. In MySQL Workbench I went to OPTIONS FILE and found some default values. I clicked apply. It asked for permission. It then created the my.cnf file under /etc. However, it is very important to keep in mind that the first time you click "apply", you do not make any changes to the default configuration. Once the file has been created, you can make changes which will be applied when you click "apply". Otherwise you will not be shown the apply button when you make changes.


After the 5.7.18 version of MySQL, it does not provide the default configuration file in support-files directory. So you can create my.cnf file manually in the location where MySQL will read, like /etc/mysql/my.cnf, and add the configuration you want to add in the file.


r 기본 옵션은 주어진 순서대로 다음 파일에서 읽습니다. /etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~ / .my.cnf

참고 URL : https://stackoverflow.com/questions/10757169/location-of-my-cnf-file-on-macos

반응형