Linux

[Ubuntu] APM 소스(컴파일/수동) 설치하기 2 - MySQL

Hyeonni 2022. 3. 12. 15:06

MySQL을 설치하기 전에 Apache를 설치해야 한다.

해당 포스트는 아래 포스트의 Apache 설치를 그대로 따라 했다고 가정하고 MySQL 설치를 진행한다.

 

[Ubuntu] APM 소스(컴파일/수동) 설치하기 1 - Apache

해당 포스팅은 Ubuntu 20.04 기준입니다. 서버의 구성 서버 : Apache, Ngnix 백엔드 프로그래밍 언어 : PHP, Spring, Node.js DB, DBMS : MySQL, Oracle, Mongo DB 그렇다면 APM은 무엇일까? 서버의 구성을 잘 보..

ta-mi.tistory.com

그럼 MySQL 설치 Start!

 

필수 패키지 설치

$ cd /usr/local
/usr/local$ sudo su
/usr/local# apt-get update
/usr/local# apt-get install cmake libssl-dev libboost-all-dev libncurses5-dev libncursesw5-dev

 

MySQL 설치

* mysql-8.0.19
1) 파일 다운로드
/usr/local# wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.19.tar.gz

2)압축 해제
/usr/local# tar xvfz mysql-8.0.19.tar.gz

3)임의 디렉토리 생성
/usr/local# cd mysql-8.0.19
/usr/local/mysql-8.0.19# mkdir mymysql
/usr/local/mysql-8.0.19# cd mymysql

4) boost_1_70_0 다운로드 (오류 발생 미리 해결 위함)
/usr/local/mysql-8.0.19# cd /usr/local/src
/usr/local/src# sudo wget https://boostorg.jfrog.io/artifactory/main/release/1.70.0/source/boost_1_70_0.tar.gz
/usr/local/src# sudo tar xvfz boost_1_70_0.tar.gz

/usr/local/src# cd ..
/usr/local# cd mymysql

5) 설치 옵션 부여
/usr/local/mysql-8.0.19/mymysql# cmake \
.. \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DMYSQL_TCP_PORT=3306 \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DSYSCONFDIR=/etc \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DDOWNLOAD_BOOST=1 \
-DWITH_BOOST=/usr/local/src/boost_1_70_0

6)컴파일 & 설치
/usr/local/mysql-8.0.19/mymysql# make
/usr/local/mysql-8.0.19/mymysql# make install
  • cmake : 설치 옵션 부여

make가 정말 오래 걸린다. 밤에 make 걸어두고 아침에 일어나 보니 완료되어 있었다,,(커널 컴파일 급,,)

RAM을 가능한 최대로 하고 돌리면 훨 빨리 끝난다고 하니 꼭! 할 수 있는 만큼 최대로 하고 실행하길 추천한다.

 

 

MySQL 초기 설정

1) MySQL 그룹 및 유저 생성
/usr/local/mysql-8.0.19/mymysql# groupadd mysql
/usr/local/mysql-8.0.19/mymysql# useradd -r -g mysql -s /bin/false mysql

2) 디렉토리 생성
/usr/local/mysql-8.0.19/mymysql# cd /usr/local/mysql
/usr/local/mysql# mkdir mysql-files (디렉토리명 자유)

3)권한 부여
/usr/local/mysql# chown -R mysql:mysql /usr/local/mysql
/usr/local/mysql# chown mysql:mysql mysql-files
/usr/local/mysql# chmod 750 mysql-files

4)기본 데이터베이스 설정
/usr/local/mysql# bin/mysqld --initialize --user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data

4)기본 데이터베이스 설정까지 끝난 모습

맨 아래 줄에 생성된 임시 비밀번호를 기억했다가 MySQL 서버를 실행할 때 입력해야 한다.

 

 

MySQL 서버 실행

/usr/local/mysql# bin/mysqld_safe --user=mysql &
bin/mysql -u root -p

  • bin/mysqld_safe --user=mysql &
    =>mysqld_safe : MySQL 실행
    => & : 백그라운드에서 프로세스 실행

해당 명령어를 입력 후에 별 다른 표시 없이 커서 깜박이는 곳에 다음 명령어를 입력해주면 비밀번호를 입력하라고 나온다. 이때 아까 받은 임시 비밀번호를 입력해주면 성공적으로 mysql 서버에 접속된다.

 

mysql 접속 성공

비밀번호를 틀렸다면 'bin/mysql -u root -p' 명령어만 다시 입력 후에 접속하면 된다.

 

임시 비밀번호는 기억하기 힘드므로 비밀번호를 바꿔주었다.

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'password';
mysql> quit
  • 'password'부분에 비밀번호를 입력해주면 된다.
  • 'quit'는 mysql 프롬프트를 종료하는 명령어이다.

 

MySQL 서버 실행 & 종료 정리

1) MySQL 서버 실행
/usr/local/mysql# bin/mysqld_safe --user=mysql &

2)MySQL 프롬프트 실행
#bin/mysql -u root -p

3)MySQL 프롬프트 종료
mysql> quit

4)MySQL 서버 종료
/usr/local/mysql# bin/mysqladmin -u root -p shutdown