MySQL my.cnf 경로는 어디에 있습니까?


10

MySQL의 설치 디렉토리를 찾았습니다. /usr/local/mysql/

my.cnf서버 구성 위치를 알 수있는 경로는 어디에서 찾을 수 있습니까 ? /etc/my.cnf(아래 그림과 같이)를 만들려고했지만 아무런 영향을 미치지 않았습니다.

[mysqld]

#charset
collation_server=utf8_general_ci
character_set_server=utf8
default_character_set=utf8

사용중인 배포판에 대한 자세한 내용이 도움이 될 것입니다.
Tim

debian / * buntu / rhel / cent는 패키지 설치에서 / usr / local을 사용하지 않을 것입니다. 그것은 느슨하거나 freebsd처럼 들립니다.
Tim

답변:


20

이 문서 :

커맨드 라인 / 터미널에서이 명령을 실행하면 MySQL이 Linux / BSD / OS X 시스템에서 my.cnf 파일을 찾는 위치가 표시됩니다.

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/etc/my.cnf ~/.my.cnf 

이제에서 위의 출력을 사용하여 파일을 확인할 수 있습니다 /etc/my.cnf다음, /etc/mysql/my.cnf등등. 해당 위치 중 하나에 하나가 없으면 하나를 생성하고 MySQL이 사용한다는 것을 알 수 있습니다.


3

Linux 시스템에서는 'locate my.cnf'가 가장 빠른 솔루션입니다.

몇 가지의 my.cnf 파일이있는 경우, 모든 (예에서 가능성을 찾고 /etc, /etc/mysql, /opt/mysql/etc, 등), 다음 실행할 수 straceMySQL의 바이너리 시도가 구성 파일을 어디서 찾을 수 있는지 확인합니다,하지만 난 그 잔인한 생각합니까.


나는 -bash: locate: command not found... 시도 find / my.cnf했지만 아무것도 찾지 못했습니다.
웹넷

이것은 my.cnf 파일이 작성된 이후로 귀하의 locatedb가 업데이트되었다고 가정합니다. 일반적으로 이것은 cron을 통해 매일 수행됩니다. 수동으로 업데이트해야한다면 "updatedb"를 루트로 실행하십시오
ckliborn

locate: command not found업데이트 된 문제가 아니며 패키지가 없습니다.
Tim

"slocate"패키지를 설치하십시오.
TheCompWiz

2

어둠 속에서 와일드 샷을 확인하십시오.

데이터베이스에 설치되어있는 경우 /usr/local/mysql, 다음을보고 시도 /etc/local에 대한my.cnf

당신이 있는지 확인하는 방법은 다음과 같습니다 my.cnf

이 쿼리를 실행 (<= 5.6.7)

SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME IN ('wait_timeout',
'innodb_buffer_pool_size','innodb_log_file_size');

또는 (>= 5.6.8)성능 스키마로 이동했습니다.

SELECT * FROM PERFORMANCE_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME IN ('wait_timeout',
'innodb_buffer_pool_size','innodb_log_file_size');
SHOW GLOBAL VARIABLES LIKE 'wait_timeout';
SHOW GLOBAL VARIABLES LIKE 'innodb_buffer_pool_size';
SHOW GLOBAL VARIABLES LIKE 'innodb_log_file_size';

당신이 얻을 경우 :

기본값으로 실행 중이며 my.cnf선물 이 없을 수 있습니다 .

노트:

MySQL 5.7.6부터는 여기에 설명 된 테이블에서 사용 가능한 정보가 성능 스키마에서도 사용 가능합니다. INFORMATION_SCHEMA 테이블은 성능 스키마 테이블보다 더 이상 사용되지 않으며 향후 MySQL 릴리스에서 제거 될 예정입니다. INFORMATION_SCHEMA 테이블에서 성능 스키마 테이블로 마이그레이션하는 것에 대한 조언은 25.20 절.“성능 스키마 시스템 및 상태 변수 테이블로 마이그레이션”에서 참조하십시오.


-bash: updatedb: command not found
웹넷

내 답변을 업데이트했습니다. 다시 시도하십시오 !!!
RolandoMySQLDBA

/usr/bin/which: no updatedb in (/sbin:/usr/sbin:/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/X11R6/bin:/bin:/usr/games:/opt/gnome/bin:/opt/kde3/bin:/usr/lib/java/bin:/usr/local/apache2/bin:/usr/local/firefox:/usr/local/mysql/bin:/usr/games:/usr/local/fetter/bin)
웹넷

1

MySQL을 어떤 플랫폼에 어떻게 설치 했습니까?

unixoid OS에서 무차별 대입 방법 :

find / -name my.cnf -print

나는 그것을 설치하지 않았다, 그것은 몇 년 된 기계에있다. 그것은 켜져있다Linux mars 2.6.5-7.147-bigsmp #1 SMP Thu Jan 27 09:19:29 UTC 2005 i686 i686 i386 GNU/Linux
Webnet

1

strace -fe open /etc/init.d/mysql start 2>&1|grep my.cnf 파일을 여는 데 사용 된 시스템 호출을 표시해야합니다.


1

cnf가 생성 한 파일이 다른 파일로 대체 된 것 같습니다. 아래 기본 순서를 확인하십시오.

에서

mysqld --verbose --help

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


1

cnf 파일을 읽지 않으려면 어떻게합니까?

변경 이후 mysqld를 다시 시작 했습니까?

새 db를 작성하려고 시도하고 해당 값을 보셨습니까?


0

실행하고 찾을 수 있도록 locate 및 updatedb를 설치하려면 ..

페도라를 사용하여 centos는 루트로 실행됩니다.

yum install mlocate

Ubuntu run을 실행중인 경우 :

sudo apt-get install mlocate

설치를 완료 한 후 업데이트 된 Fedora (루트로)를 실행하십시오.

$updatedb 

우분투 :

sudo updatedb

그런 다음 위에 나열된 것처럼 locate 명령을 실행할 수 있습니다. 다시 my.cnf는 일반적으로 / etc에 있습니다. mysql이 설치되어 있습니까? 위의 명령을 수행하여 설치하고 mlocate를 mysqld 행운으로 대체하십시오!

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.