서버관련

[MYSQL] Mysql 5.7 설치하기

Dohoon 2017. 11. 22. 17:58

Centos 7에서 mysql 5.7 설치 및 세팅 정리


* yum을 이용해서 가능한 편하게 설치

* 5.7.2 설치 및 설정 수정

* 공식 문서를 간략히 번역한 수준으로 명령어 위주로 작성

* Root 계정 기준으로 작성

* 참조 : https://dev.mysql.com/doc/refman/5.7/en/linux-installation-yum-repo.html , 


  1. yum repository 추가

    1. Yum Repository page (http://dev.mysql.com/downloads/repo/yum/) 에서 버젼 확인

    2. 플랫폼에 맞는 패키지 선택 후 다운

      #wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
      cs

    3. 인스톨 패키지

      #wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
      cs
        

  2. Install and start Mysql

    1. yum install

      #yum install mysql-community-server
      cs

    2. start mysql 

      #service mysqld start
      cs

  3. root 계정 설정

    1. 임시 패스워드 확인

      #grep 'temporary password' /var/log/mysqld.log
      cs

    2. Mysql 접속

      #mysql -u root -p
      cs

    3. root 패스워드 변경  - validate 옵션에 맞지 않는 패스워드 사용할경우 my,cnf에 'validate-password=off' 추가후 재시작

      mysql>alter user root@localhost identified by 'your-new-password';
      cs
    4. mysql-workbench에서 사용하기 위한 계정 추가

      mysql>grant all privileges on *.* to root@127.0.0.1 identified by 'your-root-password'; flush privileges;
      cs

  4. my.cnf 설정

    1. 5.7에서 변경 사항

      1. innodb_buffer_pool_size 

        1. innodb_buffer_pool_chunk_size * innodb_buffer_pool_instances 의 공식으로 자동 계산 됨

        2. 물리 메모리의 70%로 설정

      2. innodb_buffer_pool_instances 

        1. InnoDB 버퍼 풀이 나뉘는 영역의 수

        2. 기본값은 8 (innodb_buffer_pool_size < 1G 미만일 경우 1)

        3. 변경시 서버 재시작 필요

      3. innodb_buffer_pool_chunk_size

        1. 버퍼 풀 크기 조정 연산을 위한 청크 크기

        2. 기본은 128M

        3. 값 변경시 서버 재시작 필요 없음

    2. 전체 설정

      [mysqld]
       
      datadir=/var/lib/mysql
      socket=/var/lib/mysql/mysql.sock
       
      symbolic-links=0
       
      log-error=/var/log/mysqld.log
      pid-file=/var/run/mysqld/mysqld.pid
      character-set-server=utf8
      collation-server=utf8_general_ci
      default-storage-engine=InnoDB
      skip-name-resolve
      init_connect=SET collation_connection = utf8_general_ci
      init_connect=SET NAMES utf8
       
      validate-password=off
       
      innodb_file_per_table = 1
      innodb_flush_log_at_trx_commit = 2
      innodb_log_file_size = 512M
      innodb_log_buffer_size = 2M
      innodb_lock_wait_timeout = 50
      innodb_flush_method = O_DSYNC
      innodb_buffer_pool_chunk_size = 3006477107
      innodb_buffer_pool_instances = 16
      innodb_buffer_pool_size = 44G
      cs