답변:
세 가지 옵션
옵션 1 : MySQL 클라이언트 내에서
mysql -uroot -A -e"SHOW GLOBAL VARIABLES;" > MySQLCurrentSettings.txt
텍스트 파일의 모든 옵션이 캡처됩니다.
옵션 2 : Linux 명령 행에서
ps -ef | grep mysqld | grep -v grep
mysqld_safe에서 설정 한대로 mysqld로 시작한 옵션이 표시됩니다
옵션 3 : 서버에 직접 문의
mysqld --help --verbose
'mysqld --help --verbose'디스플레이 하단에 mysqld가 my.cnf에서로드되거나 기본값으로 설정된 현재 설정이 표시됩니다.
이 지침은 centos 7.1의 주식 mariadb에 대한 것입니다.
다음은 머신의 현재 설정을 현재 또는 미래의 새 설치로 백업하거나 복제하는 방법입니다.
설정을 복사하려는 머신에서 다음을 실행할 수 있습니다.
/usr/libexec/mysqld --help --verbose > mysql_current_settings.txt
다른 머신에서 mariadb-server를 설치하고 다음을 실행할 수 있습니다.
/usr/libexec/mysqld --help --verbose > mysql_default_settings.txt
그런 다음 두 파일을 하나의 디렉토리에 넣습니다.이 예에서는 "/ a /"입니다.
그런 다음 실행합니다.
comm -3 <(sort /a/mysql_current_settings.txt) <(sort /a/mysql_default_settings.txt)
출력이 없으면 두 파일이 동일합니다. 이는 두 시스템의 모든 설정이 기본 설정임을 의미합니다.
출력이있는 경우 일부 줄은 들여 쓰기되지 않고 일부 줄은 들여 쓰기됩니다.
들여 쓰기되지 않은 행은 첫 번째 파일 (여기서는 /a/mysql_current_settings.txt)에만 있습니다.
들여 쓰기 행은 두 번째 파일 (여기서는 /a/mysql_default_settings.txt)에만 있습니다.
이제 mysqld를 시작한 명령 행에서 설정 한 일부 설정을 제외하고 모든 설정을 알고 있습니다. 이러한 설정은 /etc/my.cnf 또는 /etc/my.cnf.d/* 파일, 사용자 정의 스크립트 또는 별명 등에서 제공 될 수 있습니다. 어쨌든 다음 명령을 사용하여 볼 수 있습니다.
ps -ef | grep mysqld
이제 이전 설치로 구성하기 위해 새 설치에서 변경해야 할 설정이 거의 없습니다.
다른 세부 사항을 따르십시오.
centos 7.1에서 다음 명령은 mysqld를 시작한 명령 행에서 설정 한 일부 설정을 제외하고 모든 현재 설정을 보여줍니다.
/usr/libexec/mysqld --help --verbose
전체적으로 다음을 보여줍니다.
첫 번째 부분에서는 시작할 때 "mysqld"다음에 첫 번째 매개 변수로 사용할 수있는 설정입니다.
두 번째 부분에서 설정은 컴파일 타임에 설정됩니다.
세 번째 부분에서는 현재 설정입니다.
출력의 마지막 줄에 다음과 같이 표시 되어도 실행중인 MySQL 서버가 사용하는 값을 보려면 다음을 입력하십시오.
mysqladmin variables -uroot -p
/etc/my.cnf에서 명령을 변경하고 mysql을 다시 시작하더라도 해당 명령은 fe, bind-address를 표시하지 않습니다.
또한 다음 명령은 많은 설정을 보여 주지만 "바인드 주소"는 표시하지 않습니다.
mysql -uroot -p -e"SHOW VARIABLES;"
centos 7.1에서 mysqld는 $ PATH에 없습니다.
현재 my.cnf를 생성하는 가장 좋아하는 방법은 다음과 같습니다.
{ echo -e "# MYSQL VARIABLES {{{1\n##\n# MYSQL `mysql -V|sed 's,^.*\(V.*\)\, for.*,\1,'` - By: `logname`@`hostname -f` on `date +%c`\n##"; for l in {a..z}; do echo '#'; mysql -NBe "SHOW GLOBAL VARIABLES LIKE '${l}%'" | sed 's,\t,^= ,' | column -ts^ | tr "\n" '@' | eval $(echo "sed '" "s,@\("{a..u}{a..z}"\),\n\n\1,;" "'") | eval $(echo "sed '" "s,@\(innodb_"{a..z}{a..z}"\),\n\n\1,;" "'") | tr '@' "\n" | sed 's,^,# ,g'; done; echo -e "#\n##\n# MYSQL VARIABLES }}}1"; } | tee ~/mysql-variables.log
그러나 Mac OS X에서는 안정적으로 작동하지 않습니다.
그러면 깨끗한 변수 로그가 출력되고 주석 처리되어 my.cnf로 가져올 준비가됩니다.
원본 출처 : http://www.askapache.com/mysql/view-mysql-variables-my-cnf.html
mysqld -V|sed 's,^.*\(V.*\)\ for.*,\1,'
입니다. 클라이언트와 서버가 함께 설치되어 있다고 생각하기 때문에 중요하지 않습니다. 의 목적은 무엇인가 {{{1
와는 1}}}
?