자바 & 스프링부트 서버 개발

VM(Oracle VM VirtualBox)에서 Ubuntu(우분투) OS를 생성하고 APM 소스설치하기 - 3

개발학생 2022. 8. 2. 22:42
반응형

*22년도 4월에 Ubuntu 20.04.4 버전 ISO 파일을 설치하고 진행했던 작업
*이전 글에서 이어집니다.

 

3. APM 소스파일 설치 (MySQL)

(1) 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

 

(2) 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

(3) 설치

- CMake Error 발생-CMakeLists.txt가 없다고 함. cmake 완전히 제거하고 재설치함

 

- 문제 해결! 인 줄 알았으나 /usr/local/mysql-8.0.19/mysql8# cmake \ 부분에서 같은오류 또 발생

이렇게 나와서 해결한 줄 알았다..

 

- cmake를 할 때 cmake \을 cmake .. \로 적으니해결! 했는데 오류 발생.. 구글링해서 찾았던 내용대로 해서 해결

/usr/local# cd mysql-8.0.19
/usr/local/mysql-8.0.19# mkdir mysql8
/usr/local/mysql-8.0.19# cd mysql8

##mysql8 디렉토리에 CMake 설치
/usr/local/mysql-8.0.19/mysql8# wget https://cmake.org/files/v3.16/cmake-3.16.2.tar.gz
/usr/local/mysql-8.0.19/mysql8# tar xvzf cmake-3.16.2.tar.gz 
/usr/local/mysql-8.0.19/mysql8# cd cmake-3.16.2
/usr/local/mysql-8.0.19/mysql8/cmake-3.16.2# ./bootstrap --prefix=/usr/local 

/usr/local/mysql-8.0.19/mysql8/cmake-3.16.2# make 
/usr/local/mysql-8.0.19/mysql8/cmake-3.16.2# make install


/usr/local/mysql-8.0.19/mysql8/cmake-3.16.2# cd ..
/usr/local/mysql-8.0.19/mysql8# 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

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


----------

##방법 2-cmake 하기 전에 진행
/usr/local/mysql-8.0.19/mysql8# cd ..
/usr/local/mysql-8.0.19# cd ..
/usr/local# cd 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 usr/local/mysql-8.0.19/mysql8

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

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

 

(4) 기본설정

- 임시 비밀번호 발급받기 부분에서 bin/mysqld 디렉토리를 찾을 수 없다는 오류가 났는데,
   이전에 make install을 하지 않아 생긴 문제였다.
   그러나 다음과 같은 오류가 발생했는데, 데이터 디렉토리(/data/mysql)에 파일들이 있어서 그렇다고 한다.       
   하지만 rm -rf /data/mysql*후 mysqld를 재시작해봐도 해결되지 않음

- rm -rf /usr/local/mysql/data/* 이후 ‘임시 비밀번호 발급받기’부분을 다시 입력해서 해결!
  임시 비밀번호는 Fhh9o6e3Ms!f이다

/usr/local/mysql-8.0.19/mysql8# groupadd mysql
/usr/local/mysql-8.0.19/mysql8#  useradd -r -g mysql -s /bin/false mysql
//Mysql 그룹 및 유저 생성하기

/usr/local/mysql-8.0.19/mysql8# cd ..
/usr/local/mysql-8.0.19# cd ..
/usr/local# cd mysql
/usr/local# mkdir mysql-files
//디렉토리 생성

$ chown -R mysql:mysql /usr/local/mysql
$ chown mysql:mysql mysql-files
$ chmod 750 mysql-files
//권한부여하기 

$ bin/mysqld --initialize --user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data
//임시 비밀번호 발급받기

 

 

- 서버 새로파서 apache부터 재다운 및 재시도... 비밀번호는 아래 이미지의 맨 하단부분과 같다: a)ukIi=Na9&9
  (소문자 L이 아니고 대문자 i)

 

(5) 서버 실행

- 서버 실행 부분에서 에러가 났다. mysql유저에게 쓰기 권한을 주라는 것 같다.
  위의 그룹 및 유저 생성을 mysql 디렉토리에서 해버려서 그런 건가 해서,
  유저 삭제하고 /usr/local/mysql-8.0.19/mysql8 디렉토리에서 유저생성하고 나머지는 그대로 했는데도 적용이 안 됨

- 서버 새로파서 apache부터 재다운 및 재시도...
  다음 이미지는 코드가 멈춘 것이 아니었다. 여기다가 그대로 서버실행/연결 명령어를 입력하면 되는거였다 

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

/usr/local/mysql# bin/mysql -u root -p
//서버연결

 

(5) 비밀번호 변경하고 서버 종료

- 서버 새로파서 apache부터 재다운 및 재시도해서 성공.. pasasword 자리에는 자신이 원하는 비밀번호를 입력하면 된다.
  따음표들을 잊지 말자.

mysql> alter user 'root'@'localhost' identified by '1111';
//비밀번호 변경

/usr/local/mysql# bin/mysqladmin -u root -p shutdown
//서버 종료-ctrl+z 먼저 눌러야함

 

(6) 서버 자동실행 설정

/usr/local/# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
/usr/local/# vi /etc/init.d/mysqld
/usr/local/# vi /etc/init.d/mysqld

basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
//위 두 줄은 vi 편집기 안에 작성하는 내용

/usr/local# update-rc.d mysqld defaults

/usr/local# service mysql start
/usr/local# service mysql stop

 

 

다음 글에서 계속...

반응형