본문 바로가기

DBMS/MySQL

[MySQL] 설치(Source Code)

반응형

개요

예전 MySQL 3.x 버전에서는 source code를 컴파일하여 설치를 많이 했었다. 그러다 한동안 컴파일을 이용한 설치를 하지 않다가  최근 5.x버전 컴파일 과정에서 헤맨 경험이 있어  정리를 해보고자 한다.

 

설치 환경

MySQL : mysql-boost-5.7.26.tar.gz

OS : CentOS 7.6

 

설치

1. mysql 다운로드

mysql source code는  boost headers가 포함된 패키지와 미포함된 패키지가 있다. boost hearders가 미포함된 패키지는 boost를 다운받거나 OS에 포함된 rpm을 이용하여 설치 할수 있다.

다운로드 주소 : https://dev.mysql.com/downloads/mysql/  MySQL Community Server 버전 

[그림 1] 소스코드 다운로드(아래쪽이 boost-hearder가 포함된 소스코드)

2. 사전 패키지 설치

ncursencurses-devel  rpm 설치

 

3. mysql 컴파일

shell> tar zxvf mysql-boost-5.7.26.tar.gz

shell> cd mysql-5.7.26

shell> mkdir bld

shell> cd bld

shell> cmake .. -DWITH_BOOST=../boost/boost_1_59_0 -DCMAKE_INSTALL_PREFIX=/usr/local/mysql

  **  -DWITH_BOOST : boost headers 가 위치한 경로

  **  -DCMAKE_INSTALL_PREFIX : mysql 설치 경로

shell> make

shell> make install

 

4. mysql user 생성

shell> groupadd mysql

shell> ueradd -r -g mysql -s /bin/false mysql

 

5. mysql 디렉토리 소유자 변경

shell> cd /usr/local/mysql

shell> chown -R mysql .

shell> chgrp -R mysql .

 

6. mysql database 생성 및 기동

shell> cd /usr/local/mysql/bin

shell> ./mysqld --initialize --user=mysql

 ** 실행하기전 /etc/my.cnf 있는지 확인, mariadb-libs rpm에 의해서 /etc/my.cnf /etc/my.cnf.d/ 존재함, /etc/my.cnf를 사용하지 않을 경우 이름을 변경하거나 설치 환경에 맞게 조정)

 ** 실행후 /usr/local/mysql/data 디렉토리에 데이타 생성됨

** ./mysqld --initialize --user=mysql 명령어 실행후  마지막 줄에 root 사용자의 임시 패스워드가 생성됨

[그림 2] mysql database 생성및 초기 패스워드

shell> ./mysql_ssl_rsa_setup

 

기동 방법 1)

shell> ./mysqld_safe --user=mysql &

기동 방법 2)

shell> cp support-files/mysql.server /etc/init.d/mysql.server

shell> /etc/init.d/mysql.server start

 

7. mysql root 사용자 패스워드 변경

shell> mysql -p mysql

Enter password:

mysql> alter user root@'localhost' identified by 'passw0rd' ;

 

반응형

'DBMS > MySQL' 카테고리의 다른 글

[MySQL] mysqldump 백업  (0) 2019.11.29
[MySQL] 바이너리 로그 파일  (0) 2019.11.28
[MySQL] InnoDB 파일 구조  (0) 2019.11.28
[mysql] 기본 명령어  (0) 2019.11.27
[MySQL] mysql connector-J 설치  (0) 2019.09.20