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

2022. 3. 17. 00:22·대외활동/UMC SERVER
반응형

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

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 명령어로 다운을 받으려고 했는데 접근 권한이 없다면서 실패했다.

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

  • /usr/local/mysql/boost 로 이동 
  • wget http://downloads.sourceforge.net/project/boost/boost/1.70.0/boost_1_70_0.tar.gz 
  • tar  xvfz boost_1_70_0.tar.gz

압축을 해제하고 다시 위의 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

반응형
'대외활동/UMC SERVER' 카테고리의 다른 글
  • 2주차 실습 과제 : 포트포워딩(Port Forwarding)
  • 1주차 챌린지 과제 : Ubuntu 20.04.4 LTS에 APM 소스, 수동 설치하기 (PHP)
  • 1주차 챌린지 과제 : Ubuntu 20.04.4 LTS에 APM 소스, 수동 설치하기 (Apache)
  • 1주차 Server 학습 : 맥북 M1, UTM을 사용해 Ubuntu 20.04.4 LTS 사용하기
Debin
Debin
공부 기록을 남기며 게시글 리팩토링을 진행하는 블로그입니다.
  • Debin
    리팩토링하는 블로그
    Debin
  • 전체
    오늘
    어제
    • 분류 전체보기
      • DB
        • DB 기초
        • MySQL
        • SQL 튜닝
      • OS
      • Network
      • Git
      • 디지털콘텐츠기획
      • 소프트웨어공학
      • 코딩테스트
        • 프로그래머스
        • 백준
        • 인프런
      • 공부 일지
      • 독서
        • 클린코드
        • 일상 속 사물이 알려주는 웹 API 디자인
        • 토비의 스프링
        • 객체지향의 사실과 오해
        • 자바 잘 읽는 법
      • 기록 및 회고
      • Cloud
        • AWS
      • 개발
        • Java
        • Spring Core
        • Spring MVC
        • Spring DB
        • Spring Boot
        • Spring Security
        • Spring Batch
        • JPA
        • Test
        • Android
      • 대외활동
        • UMC SERVER
        • 카엔프 SW 아카데미
      • 프로젝트
      • Docker
      • Gradle
      • ELK
      • 실무 이야기
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • 깃허브
  • 공지사항

    • 본인 깃허브입니다!
  • 인기 글

  • 태그

    Java
    트랜잭션
    spring mvc
    컨테이너
    스프링
    자바
    JPA
    AOP
    코딩 #개발자 #노마드북클럽 #노개북
    토비의 스프링
    데이터베이스
    redis
    test
    spring
    도커
    객체
    스프링 부트
    ORM
    innodb
    객체지향
    SQL
    AWS
    container
    docker
    mysql
    인덱스
    운영체제
    프록시
    리눅스
    spring boot
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
Debin
1주차 챌린지 과제 : Ubuntu 20.04.4 LTS에 APM 소스, 수동 설치하기 (MySQL)
상단으로

티스토리툴바