Centos 7에서 mysql 5.7 설치 및 세팅 정리
* yum을 이용해서 가능한 편하게 설치
* 5.7.2 설치 및 설정 수정
* 공식 문서를 간략히 번역한 수준으로 명령어 위주로 작성
* Root 계정 기준으로 작성
* 참조 : https://dev.mysql.com/doc/refman/5.7/en/linux-installation-yum-repo.html ,
yum repository 추가
Yum Repository page (http://dev.mysql.com/downloads/repo/yum/) 에서 버젼 확인
플랫폼에 맞는 패키지 선택 후 다운
#wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpmcs 인스톨 패키지
#wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpmcs Install and start Mysql
root 계정 설정
임시 패스워드 확인
#grep 'temporary password' /var/log/mysqld.logcs Mysql 접속
#mysql -u root -pcs root 패스워드 변경 - validate 옵션에 맞지 않는 패스워드 사용할경우 my,cnf에 'validate-password=off' 추가후 재시작
mysql>alter user root@localhost identified by 'your-new-password';cs mysql-workbench에서 사용하기 위한 계정 추가
mysql>grant all privileges on *.* to root@127.0.0.1 identified by 'your-root-password'; flush privileges;cs my.cnf 설정
5.7에서 변경 사항
innodb_buffer_pool_size
innodb_buffer_pool_chunk_size * innodb_buffer_pool_instances 의 공식으로 자동 계산 됨
물리 메모리의 70%로 설정
innodb_buffer_pool_instances
InnoDB 버퍼 풀이 나뉘는 영역의 수
기본값은 8 (innodb_buffer_pool_size < 1G 미만일 경우 1)
변경시 서버 재시작 필요
innodb_buffer_pool_chunk_size
버퍼 풀 크기 조정 연산을 위한 청크 크기
기본은 128M
값 변경시 서버 재시작 필요 없음
전체 설정
[mysqld]datadir=/var/lib/mysqlsocket=/var/lib/mysql/mysql.socksymbolic-links=0log-error=/var/log/mysqld.logpid-file=/var/run/mysqld/mysqld.pidcharacter-set-server=utf8collation-server=utf8_general_cidefault-storage-engine=InnoDBskip-name-resolveinit_connect=SET collation_connection = utf8_general_ciinit_connect=SET NAMES utf8validate-password=offinnodb_file_per_table = 1innodb_flush_log_at_trx_commit = 2innodb_log_file_size = 512Minnodb_log_buffer_size = 2Minnodb_lock_wait_timeout = 50innodb_flush_method = O_DSYNCinnodb_buffer_pool_chunk_size = 3006477107innodb_buffer_pool_instances = 16innodb_buffer_pool_size = 44Gcs