Computer Engineering/Server

리눅스 서버 구축하기 (3)- MySQL 설치

말하는호구마 2020. 12. 29. 22:31

php를 설치하기 전에 MySQL먼저 설치해주도록 하자

설치를 시작하기에 앞서 다운받아야할 의존성 패키지들을 먼저 다운받자

 

apt-get install cmake

apt-get install libncurses5-dev

sudo apt-get install libssl-dev

sudo apt-gt install libboost-all-dev

apt-get install libncurses5-dev libncursesw5-dev

 

이전의 과정들과 비슷하게 소스코드를 직접 다운받아야한다

https://dev.mysql.com/downloads/mysql/

 

MySQL :: Download MySQL Community Server

Select Operating System: Select Operating System… Microsoft Windows Ubuntu Linux Debian Linux SUSE Linux Enterprise Server Red Hat Enterprise Linux / Oracle Linux Fedora Linux - Generic Oracle Solaris macOS FreeBSD Source Code Select OS Version: All Wind

dev.mysql.com

첫번째 파일을 다운받도록 하자. 마찬가지로 /usr/local로 옮겨주고 압축을 풀어주자!

 

mysql-8.0.22로 진입해 아래와 같이 cmake해준다

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

 

그런데 오류발생 ㅜㅜ

찾아보니 mysql8.0.x부터는 build를 위해 별도의 디렉토리를 생성할 것을 권고한다고 한다.

그리하여 아래의 명령어들을 먼저 실행하자!

cd mysql-8.0.22
rm -f CMakeCache.txt

mkdir nahyunSQL

cd nahyunSQL

 

 

후 다시 cmake를 실행하는데 디렉토리가 하나 추가되었으니 이전의 디렉토리를 포함(??)해야한다.

 

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 하자!!!!!!!!

--> 정말 오래걸린다.......

 

 

 

공식문서에 따르면 데이터 디렉토리 초기화를 진행해야한다고 한다. 

그룹을 만들어주고 사용자를 추가해준다.

파일 디렉토리를 생성해준다.(현재 디렉토리를 잘 체크하자!)
다음은 권한설정을 해주자

$ 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

이를 성공적으로 마치면 아래와 같이 임시 비밀번호가 나온다. 이를 기억해둬야한다.

 

 

mysql서버를 실행시키는 명령어는 다음과 같다.

$ bin/mysqld_safe --user=mysql &

그리고 ps -ef | grep mysqld 명령어로 현재 실행중인지 파악할 수 있다!>

 

서버로 연결을 해주자

bin/mysql -u root -p 명령어를 입력하면 비밀번호를 입력하라고 하는데, 아까 기억해뒀던 초기 비밀번호를 입력해주면 된다!

첫 구문은 비밀번호를 재설정해줘야 하기 때문에 아래의 쿼리를 입력해야한다

 

ALTER USER 'root'@'localhost' IDENTIFIED BY '여기에 비밀번호';

 

 

 

 

MySQL서비스 등록하여 서버가 실행되면 자동으로 실행되게 만들어보자

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

원래 basedir과 datadir은 비어있지만 위와 같이 채워 넣는다. 

update-rc.d mysqld defaults

서비스 등록!

 

 

 

$ service mysql start

$ service mysql stop

앞으로 이 명령어들로 시작, 중지시킬 수 있다!