Coolx World - Programming
MySQL 5.7.9 CentOS 에 소스 설치 방법 (MySQL)
2017-12-19 18:00 - swindler
1. boost 준비

mysql 5.7.9 버전을 설치하기 위해서는 boost 라는 라이브러리가 필요하다.


wget http://downloads.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz

tar xvzf boost_1_59_0.tar.gz

압축만 풀어두고, 경로지정만 맞춰서 해 주면 설치된다.

-> 굳이 이렇게 받지 않아도 cmake 옵션에서 주면 알아서 받기도 한다.


2. mysql 컴파일

https://dev.mysql.com/downloads/mysql/ 에서 다운로드 받는다.
보통 Generic Linux (Architecture Independent) 을 받으면 된다.
Boost Header간 include된 버전도 있다.



mysql 압축을 푼 다음에, 다음과 같이 본인에게 맞는 옵션으로 cmake 실행
옵션중에 boost 경로를 지정하는 부분이 있으니, 위에서 압축 푼 폴더로 잘 지정해주면 된다.

cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DWITH_EXTRA_CHARSETS=all \
-DMYSQL_DATADIR=/home/mysql_data \
-DENABLED_LOCAL_INFILE=1 \
-DDOWNLOAD_BOOST=1 \
-DWITH_BOOST=../boost_1_59_0 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DSYSCONFDIR=/etc \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all

나는 보통 -DDEFAULT_CHARSET=utf8mb4 -DDEFAULT_COLLATION=utf8mb4_unicode_ci 옵션을 준다.
(요즘 utf8mb4를 사용하는 경우가 많다.)


cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DWITH_EXTRA_CHARSETS=all \
-DMYSQL_DATADIR=/home/mysql_data \
-DENABLED_LOCAL_INFILE=1 \
-DDOWNLOAD_BOOST=1 \
-DWITH_BOOST=../boost_1_59_0 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DSYSCONFDIR=/etc \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_unicode_ci \
-DWITH_EXTRA_CHARSETS=all


boost 포함버전을 받은 경우에는 다음과 같이 옵션을 변경한다.
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DWITH_EXTRA_CHARSETS=all \
-DMYSQL_DATADIR=/data/mysql_data \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_BOOST=boost \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DSYSCONFDIR=/etc \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_unicode_ci \
-DWITH_EXTRA_CHARSETS=all



make 를 그냥 실행하면 속도가 느리다.
-j 옵션을 cpu 코어 갯수만큼 주면 속도가 빨라진다.

make -j `grep processor /proc/cpuinfo | wc -l`

그 다음으로
make install 실행



3. 각종 환경설정

useradd -M mysql
(-M 옵션을 home directory를 생성하지 않는 옵션이다.)

chown -R root:mysql /usr/local/mysql

cd /usr/local/mysql

chmod 700 support-files/mysql.server

cp support-files/mysql.server /etc/rc.d/init.d/mysql

ln -s /etc/rc.d/init.d/mysql /etc/rc.d/rc3.d/S97mysql
(부팅시 자동 실행되게 run level 3에 추가)

cp support-files/mysql.server /usr/bin/


4. /etc/my.cnf 파일을 작성한다. (샘플을 찾아서 적당히...)


5. database install

/usr/local/mysql/bin/mysql_install_db --user=mysql --datadir=/data/mysql



6. mysql start
mysql.server start


7. root 패스워드 설정
database 생성시 자동으로 암호가 설정되는데, root의 홈디렉토리에 .mysql_secret 이라는 파일에 저장되어 있다.

mysql -u root -p mysql 로 접속하고 해당 비밀번호를 입력한다.

아무 쿼리나 날리면 password를 reset 하라는 메세지가 나타난다.

alter user 'root'@'localhost' IDENTIFIED BY 'wwwwwwww';
flush privileges;






swindler - 2018-03-13 18:49
cmake 실행시에 pthread 관련에서 에러가 나면 '/usr/include/pthread.h' 파일을 열어 아무곳에 /* Linuxthreads */ 를 추가해주면 됨
Copyright © 1999-2020, swindler.

  2HLAB   2HLAB_Blog   RedToolBox   Omil   Omil_Blog