MySQL 5.7.13 소스 코드 컴 파일 설치 설정 방법

8235 단어 mysql5.7.13mysql5.7
설치 환경:CentOS 7 64 비트 MINI 버 전
홈 페이지 소스 코드 컴 파일 설치 문서:http://dev.mysql.com/doc/refman/5.7/en/source-installation.html
1.시스템 설치 조건
공식 문서 설명:http://dev.mysql.com/doc/refman/5.7/en/source-installation.html
1> cmake
MySQL 은 cmake 크로스 플랫폼 도 구 를 사용 하여 원본 코드 를 미리 컴 파일 하여 my sql 의 컴 파일 파 라 메 터 를 설정 합 니 다.예 를 들 어 디 렉 터 리 설치,데이터 저장 디 렉 터 리,문자 인 코딩,정렬 규칙 등.최신 버 전 을 설치 하면 됩 니 다.
2> make3.75
my sql 소스 코드 는 C 와 C+언어 로 작 성 됩 니 다.Liux 에서 make 를 사용 하여 소스 코드 를 컴 파일 하고 구축 합 니 다.make 3.75 이상 버 전 을 설치 해 야 합 니 다.
3> gcc4.4.6
GCC 는 Linux 의 C 언어 컴 파일 도구 입 니 다.my sql 소스 코드 컴 파일 은 C 와 C++로 작 성 됩 니 다.GCC 4.4.6 이상 버 전 을 설치 해 야 합 니 다.
4> Boost1.59.0
my sql 소스 코드 에 C++의 Boost 라 이브 러 리 를 사 용 했 습 니 다.boost 1.59.0 이상 버 전 을 설치 해 야 합 니 다.
5> bison2.1
Linux 에서 C/C+문법 분석 기
6> ncurses
문자 터미널 처리 라 이브 러 리
따라서 설치 하기 전에 관련 의존 라 이브 러 리 를 설치 해 야 합 니 다.

shell> sudo yum install -y cmake,make,gcc,gcc-c++,bison, ncurses,ncurses-devel


Boost 1.59.0 소스 코드 를 다운로드 하고/usr/local/디 렉 터 리 에 압축 을 푸 십시오.

shell> wget -O https://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz
shell> tar -zxvf boost_1_59_0.tar.gz -C /usr/local/


2.MySQL 소스 코드 다운로드
github 에서 my sql 소스 코드 를 다운로드 합 니 다.

shell> cd /opt
shell> git clone https://github.com/mysql/mysql-server.git
shell> ls mysql-server
git 클 라 이언 트 가 설치 되 어 있 지 않 으 면 yum install-y git 설 치 를 실행 합 니 다.

shell> git branch -r
origin/5.5
origin/5.6
origin/5.7
origin/HEAD -> origin/5.7
origin/cluster-7.2
origin/cluster-7.3
origin/cluster-7.4
origin/cluster-7.5


현재 분기 의 기본 값 은 5.7 버 전 입 니 다.다른 버 전 을 설치 하려 면 해당 분기 로 전환 하면 됩 니 다.5.6 버 전 설치:git checkout 5.6,여 기 는 5.7 을 설치 하 는 것 을 예 로 들 수 있 습 니 다.
소 후 미 러 다운로드 주소:
http://mirrors.sohu.com/mysql/MySQL-5.5/
http://mirrors.sohu.com/mysql/MySQL-5.6/
http://mirrors.sohu.com/mysql/MySQL-5.7/
설치
1>mysql 사용자 추가

shell> cd /opt/mysql-server
shell> groupadd mysql #  mysql   
shell> useradd -r -g mysql -s /bin/false mysql #  mysql  


2>mysql 사전 컴 파일 파라미터 설정

shell> cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DWITH_BOOST=/usr/local/boost_1_59_0 \
-DSYSCONFDIR=/etc \
-DEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
-DENABLED_LOCAL_INFILE=1 \
-DEXTRA_CHARSETS=all
-DCMAKE_INSTALL_PREFIX:설치 경로
-DMYSQL_DATADIR:데이터 저장 디 렉 터 리
-DWITH_BOOST:boost 소스 코드 경로
-DSYSCONFDIR:my.cnf 프로필 디 렉 터 리
-DEFAULT_CHARSET:데이터베이스 기본 문자 인 코딩
-DDEFAULT_컬 레이 션:기본 정렬 규칙
-DENABLED_LOCAL_INFILE:이 파일 에서 데 이 터 를 가 져 올 수 있 습 니 다.
-DEXTRA_CHARSETS:모든 문자 집합 설치
더 많은 사전 컴 파일 설정 매개 변 수 는 my sql 공식 문서 설명 을 참고 하 십시오:http://dev.mysql.com/doc/refman/5.7/en/source-configuration-options.html#cmake-general-options
3>컴 파일 및 설치

shell> make -j `grep processor /proc/cpuinfo | wc -l`
shell> make install
-j 매개 변 수 는 CPU 핵 수 에 따라 컴 파일 할 때의 스 레 드 수 를 지정 하여 컴 파일 속 도 를 가속 화 할 수 있 음 을 나타 낸다.기본 값 은 1 개의 스 레 드 컴 파일 입 니 다.테스트 단일 핵 CPU,1G 메모리 로 컴 파일 이 완료 되 려 면 1 시간 가까이 걸 립 니 다.
4>시스템 데이터베이스 초기 화

shell> cd /usr/local/mysql
shell> chown -R mysql:mysql .
#   :MySQL 5.7.6                   
shell> ./bin/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
# 5.7.6             (          )
shell> ./bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
shell> ./bin/mysql_ssl_rsa_setup
shell> chown -R root .
shell> chown -R mysql data
메모:Cinitialize 매개 변 수 를 사용 하여 시스템 데이터 베 이 스 를 초기 화 한 후~/my sqlsecret 파일 에서 루트 사용자 의 임시 암 호 를 생 성 하 는 동시에 초기 화 로그 에서 도 인쇄 되 었 습 니 다.아래 그림 의 빨 간 동그라미 와 같 습 니 다.

5.프로필 및 매개 변수 최적화

shell> cp support-files/my-default.cnf /etc/my.cnf
shell> vim /etc/my.cnf

[client]
port=3306
socket=/usr/local/mysql/mysql.sock
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci

skip-external-locking
skip-name-resolve

user=mysql
port=3306
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
tmpdir=/usr/local/mysql/temp
# server_id = .....
socket=/usr/local/mysql/mysql.sock
log-error=/usr/local/mysql/logs/mysql_error.log
pid-file=/usr/local/mysql/mysql.pid
open_files_limit=10240
back_log=600
max_connections=500
max_connect_errors=6000
wait_timeout=605800
#open_tables=600
#table_cache = 650
#opened_tables = 630

max_allowed_packet=32M
sort_buffer_size=4M
join_buffer_size=4M
thread_cache_size=300
query_cache_type=1
query_cache_size=256M
query_cache_limit=2M
query_cache_min_res_unit=16k

tmp_table_size=256M
max_heap_table_size=256M

key_buffer_size=256M
read_buffer_size=1M
read_rnd_buffer_size=16M
bulk_insert_buffer_size=64M

lower_case_table_names=1

default-storage-engine=INNODB

innodb_buffer_pool_size=2G
innodb_log_buffer_size=32M
innodb_log_file_size=128M
innodb_flush_method=O_DIRECT
#####################
thread_concurrency=32
long_query_time=2
slow-query-log=on
slow-query-log-file=/usr/local/mysql/logs/mysql-slow.log

[mysqldump]
quick
max_allowed_packet=32M

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

6.mysql 서비스 설정

shell> cp support-files/mysql.server /etc/init.d/mysqld
shell> chkconfig --add mysqld  #        
shell> chkconfig mysqld on  #     
7.서비스 시작

shell> service mysqld start  #   mysql  
shell> service mysqld stop  #   mysql  
shell> service mysqld restart  #     mysql  


8.데이터베이스 비밀번호 설정

shell> /usr/local/mysql/bin/mysql -e "grant all privileges on *.* to root@'127.0.0.1' identified by "root" with grant option;"
shell> /usr/local/mysql/bin/mysql -e "grant all privileges on *.* to root@'localhost' identified by "root" with grant option;"
#       ( host  %  )
/usr/local/mysql/bin/mysql -e "grant all privileges on *.* to root@'%' identified by "root" with grant option;"


9.my sql 환경 변 수 를 설정 합 니 다.

shell> vim /etc/profile
shell> export PATH=/usr/local/mysql/bin:$PATH
shell> source /etc/profile


4.기타 주의사항
중간 컴 파일 에 실 패 했 을 경우 cmake 에서 생 성 된 사전 컴 파일 프로필 의 캐 시 파일 과 make 컴 파일 후 생 성 된 파일 을 삭제 하고 다시 컴 파일 해 야 합 니 다.

shell> cd /opt/mysql-server
shell> rm -f CMakeCache.txt
shell> make clean
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기