MySQL 5.7.13 소스 코드 컴 파일 설치 설정 방법
8235 단어 mysql5.7.13mysql5.7
홈 페이지 소스 코드 컴 파일 설치 문서: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
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
CentOS 7 에서 RPM 으로 mysql 5.7.13 설치*nix 시스템 에서 데이터베이스 디 렉 터 리 를 파일 소유자 와 mysql 로 로그 인 할 수 있 도록 루트 로 mysql 서 비 스 를 실행 하려 면 아래 명령 을 실행 하여 초기 화해 야 합 니 다 또한--i...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.