>  기사  >  데이터 베이스  >  Linux 시스템에서 MYSQL 소스 코드 설치에 대한 성능 고려 사항

Linux 시스템에서 MYSQL 소스 코드 설치에 대한 성능 고려 사항

黄舟
黄舟원래의
2016-12-14 15:22:331199검색

소스 코드 설치 시 성능 고려 사항:
17.3.1 불필요한 모듈 제거:
소스 코드 설치는 데이터베이스 컴파일을 유연하게 사용자 정의할 수 있으므로 유연성이 더 높습니다. 특정 컴파일 옵션은 데이터베이스 성능을 크게 향상시킬 수 있습니다.
컴파일된 모든 구성 옵션을 보려면 다음 명령을 실행하세요.
shell> ./configure --help
클라이언트만 설치하는 경우 다음 명령을 실행할 수 있습니다.
shell> --without-server
로그 파일과 데이터베이스가 "/usr/local/var" 디렉터리에 위치하지 않도록 하려면 다음과 유사한 구성 명령을 사용하세요.
local/mysql/tmp/mysql .sock
17.3.2 사용할 문자 집합만 선택하세요.
설치 후 기본 문자 집합과 데이터 정렬을 변경하세요.
shell> ./configure -- with-charset=CHARSET
./ 구성 --with-collation=COLLATION
설치할 문자 집합을 선택하세요:
shell>./configure --with-extra-charsets=LIST
list는 다음 중 하나일 수 있습니다:
공백 분리 일련의 문자 집합 이름
complex - 동적으로 로드할 수 없는 모든 문자 집합을 포함합니다.
all – 모든 문자 집합을 바이너리에 포함합니다.
17.3.3 pgcc로 컴파일:
pgcc 2.90 .29 이상:
CFLAGS="-O3 -mpentiumpro -mstack-align-double" CXX=gcc
CXXFLAGS="-O3 -mpentiumpro -mstack-align-double
-felide-constructors - fno- 예외 -fno-rtti"
17.3.4 성능 향상을 위해 정적 컴파일 사용:
shell>./configure --with-client-ldflags=-all-static
--with-mysqld- ldflags=-all-static
17.4 mysql 업그레이드
방법 1은 가장 간단하고 모든 스토리지 엔진에 적합합니다(가장 빠를 필요는 없음)
새 데이터베이스 설치
이전 데이터베이스를 텍스트로 내보내고 가져오기
shell> mysqladmin -h 호스트 이름 -P port -u user -p passwd create db_name
shell> mysqldump --opt db_name | mysql -h 호스트 이름 -P port -u user -p
passwd on 새 데이터베이스 db_name
참고: 네트워크가 느린 경우 내보내기 옵션에 --compress를 추가하여 네트워크 전송을 줄일 수 있습니다
권한 테이블 업그레이드
원래 라이브러리의 모든 mysql 데이터베이스 디렉토리를 Cp하여 mysql을 덮어쓸 수 있습니다. 새 라이브러리 데이터베이스
셸에서 mysql_fix_privilege_tables 명령을 실행하여 권한 테이블을 업그레이드하세요
shell>mysql_fix_privilege_tables
데이터베이스 서비스 다시 시작
방법 2는 모든 스토리지 엔진에 적합하며 더 빠릅니다
새 데이터베이스 설치
이전 데이터베이스 출력 파일을 저장하고 데이터베이스를 백업할 디렉터리를 만듭니다.
shell> mkdir DUMPDIR
shell>mysqldump --tab=DUMPDIR db_name
DUMPDIR 디렉터리를 대상 머신의 해당 디렉터리로 이동하고 파일을 MySQL로 전송합니다.
shell> mysqladmin create db_name # create data
shell> cat DUMPDIR/*.sql | create tables in 데이터베이스
shell> mysqlimport db_name DUMPDIR/*.txt # 테이블에 데이터 로드
(실제 테스트 중에 txt를 실행하기 전에 data 아래에 배치해야 하는 것으로 나타났습니다. 그렇지 않으면 파일을 찾을 수 없다는 메시지가 표시됩니다)
권한 테이블 업그레이드
원래 라이브러리의 모든 mysql 데이터베이스 디렉터리를 CP하여 새 라이브러리를 덮어씁니다. mysql 데이터베이스에서 셸에서 mysql_fix_privilege_tables 명령을 실행하여 권한 테이블을 업그레이드합니다.
shell>mysql_fix_privilege_tables
다시 시작 데이터베이스 서비스
방법 3은 myisam 테이블에 적합하며 가장 빠릅니다.
새 데이터베이스 설치
원본 데이터베이스 설치 데이터 디렉터리에 있는 모든 파일(.frm, .MYD, MYI)을 권한 테이블을 업그레이드하려면 새 라이브러리 아래의 해당 디렉터리
원래 라이브러리의 모든 mysql 데이터베이스 디렉터리를 cp로 지정하여 쉘의 새 라이브러리에 있는 mysql 데이터베이스를 덮어씁니다. 내부에서 mysql_fix_privilege_tables 명령을 실행하여 권한 테이블을 업그레이드합니다.
shell>mysql_fix_privilege_tables
테이블을 플러시하거나 데이터베이스 서비스를 다시 시작하여 적용

더 많은 관련 기사를 보려면 PHP 중국어 웹사이트(www.php.cn)를 주목하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.