대외활동/UMC SERVER

1주차 챌린지 과제 : Ubuntu 20.04.4 LTS에 APM 소스, 수동 설치하기 (MySQL)

Debin 2022. 3. 17.
반응형

먼저 아파치를 다운로드 하자!

https://devdebin.tistory.com/124

 

Ubuntu 20.04.4 LTS에 APM 소스, 수동 설치하기 (Apache)

이번에는 우분투에서 APM (Apache, PHP, MySQL)을 소스 설치하고 이에 대한 공부 기록을 남겨보겠습니다. 소스 설치(컴파일 설치)란 리눅스에서 소스를 컴파일하여 설치하는 것이다. 패키지 매니저와

devdebin.tistory.com

 

이번에는 MySQL 소스 설치를 진행해보겠다.

저번 시간과 마찬가지로 먼저 필수적인 패키지를 다운로드 받는다.

& sudo su
/usr/local# apt-get update
/usr/local# apt-get install cmake
/usr/local# apt-get install libssl-dev
/usr/local# apt-get install libboost-all-dev
/usr/local# apt-get install libncurses5-dev libncursesw5-dev
/usr/local# apt-get install perl
 
/usr/local# apt-get install make
/usr/local# apt-get install gcc
/usr/local# apt-get install g++
위 패키지는 저번 시간에 인스톨했다.

 

이번에도 저번 시간과 동일하게 MySQL 소스 파일을 받고 압축을 해제한다.

/usr/local# wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.19.tar.gz
/usr/local# tar xvfz mysql-8.0.19.tar.gz

 

MySQL 설치

이제 디렉토리를 생성하고 그 디렉토리 안에서 설치를 진행한다.

/usr/local# cd mysql-8.0.19
/usr/local/mysql-8.0.19# mkdir dir_mysql (이름은 아무거나 상관없다)
/usr/local/mysql-8.0.19# cd dir_mysql


/usr/local/mysql-8.0.19/dir_mysql# 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/mysql/boost

여기서 스페이스바를 자꾸 잘못 눌러 에러가 발생했다. 정확히 타이핑하고 엔터를 눌렀는데...!!!!

또 다른 에러가 발생했다.

 

CMake Error at cmake/boost.cmake:229

에러 화면

wget, curl을 이용해 위 링크의 소스를 다운받고 압축을 풀라고 에러 메시지에 나왔다.

따라서 저 링크로 접근해 wget 명령어로 다운을 받으려고 했는데 접근 권한이 없다면서 실패했다.

이후에 구글링을 통해서 동일한 버전의 다른 링크를 얻어 다운로드를 진행했다.

압축을 해제하고 다시 위의 cmake ~ 명령어를 입력하면 정상적으로 진행된다.

이제 아래와 같이 명령어를 입력한다.

/usr/local/mysql-8.0.19/dir_mysql# make  
/usr/local/mysql-8.0.19/dir_mysql# make install

make 명령어는 정말 오래걸리므로 인내심을 가지고 기다리자

 

MySQL DB 초기화

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

2. 디렉토리 생성
/usr/local# cd 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. 기본 DB 생성
/usr/local/mysql# bin/mysqld --initialize --user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data

이 과정을 마무리하면 아래와 같이 임시 비밀번호가 나온다.

임시 비밀번호 발급

A temporary password is generated for .. 를 통해 임시 비밀번호가 생긴 것을 확인할 수 있다.

 

MySQL 서버 실행 및 비밀번호 변경

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

이때, 여기서 바로 명령어를 입력하고 임시 비밀번호를 입력하면 mysql에 접속 성공!!

#bin/mysql -u root -p
#Enter password: 비밀번호 입력 (임시 비밀번호)

아래 이미지처럼 성공이다!! 정말 오랜 시간이 걸렸다...

MySQL 서버 실행 및 로그인 성공

마지막으로 비밀번호를 재설정하고 서버 종료 하는 법은 아래와 같다.

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'root-password';
mysql> exit
/usr/local/mysql# bin/mysqladmin -u root -p shutdown

 

이렇게 이번 실습도 마무리..!!!!

 

참고 자료

https://yeni-days.tistory.com/7?category=1020921 

https://kking.tistory.com/17

반응형

댓글