본문 바로가기

카테고리 없음

[RC] Ubuntu 20.04 - MySql 소스 설치하기 (APM # 2)

[RC] Ubuntu 20.04 - Apache 소스 설치하기 (APM # 1)

[RC] Ubuntu 20.04 - MySql 소스 설치하기 (APM # 2)

 

지난 포스터에 이어서 이번에는 MySql을 소스 설치해보겠습니다.

 

 

우선 아래의 패키지를 먼저 설치해주세요.

0. 패키지 설치

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

cd /usr/local/src
wget https://boostorg.jfrog.io/artifactory/main/release/1.70.0/source/boost_1_70_0.tar.gz tar xvfz boost_1_70_0.tar.gz

 

1. MySQL Community Server 설치

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

2. MySql 설치

mkdir yj
cd /usr/local/mysql-8.0.19/yj

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

make
make install

1. /usr/local/mysql-VERSION 에서 cmake를 했을 때 오류가 발생하기에, 새로운 디렉터리를 만들고 그 새로운 디렉터리에서 cmake를 하길 바랍니다. 

예시) mkdir <directory_name>
cd /usr/local/mysql-VERSION/<directory_name>

 

2. cmake를 통해서 DCMAKE_INSTALL_PREFIX, DMYSQL_..., DDWITH_... 등 많은 옵션을 부여해줍니다.

아래의 공식 링크를 통해서 cmake의 옵션들의 기능과 역할을 확인할 수 있습니다!

https://dev.mysql.com/doc/refman/8.0/en/source-configuration-options.html

 

 

# 오류 1

위와 같이 cmake 했는데 아래와 같은 오류창이 뜬다면,

cmake에서의 The source directory ... dose not exist 오류

cmake .. \
.
.
.
-DWITH_BOOST=/usr/local/src/boost_1_70_0 ..

위 코드와 같이 입력해주되, 마지막 줄에 ".." 만 추가해주세요.

https://askubuntu.com/questions/1029174/cmake-error-the-source-directory-home-pi-opencv-3-0-0-build-build-examples-on

정확한 이유는 모르겠지만 CMakeList.txt 파일이 있는 곳을 가리켜야 한다고 하기에 부모 폴더를 가리키는 ".." 을 추가하였습니다.


3. 설정

먼저 mysql 디렉터리로 이동해 mysql-files 디렉터리를 생성해줍니다.

cd /usr/local/mysql
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

위의 명령어가 제대로 동작했다면 문구 맨 아래에서 임시 비밀번호를 확인하실 수 있습니다.

root@localhost: "임시 비밀번호"

4. 실행

  • 서버를 백그라운드로 실행하여 줍니다.
./mysqld_safe --user=mysql &

 

  • 서버에 연결합니다.
./mysql -u root -p

 

  • 임시 비밀번호를 바꿔줍니다.
mysql> alter user 'root'@'localhost' identified with mysql_native_password by '바꿀 비밀번호';

 

  • 서버를 종료합니다.
./mysqladmin -u root -p shutdown

 

ps -ef | grep mysqld 을 통해 서버가 살아있는지 죽어있는지 확인할 수 있습니다.

 

service 명령어를 통해 간단하게 서버를 조작할 수 있습니다.

service mysql start
service mysql stop
service mysql restart 
service mysql status 

 

 

 

mysql을 설치하면서 그리고 글을 쓰는데 많은 도움이 됐던 블로그입니다!