mysql 소스설치 전에 패키지 먼저 설치할 것!
$ 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
패키지를 설치했다면 mysql 소스 설치를 해준다.
그 후에 mysql.tar.gz 파일을 받아준다.
# wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.19.tar.gz
# tar xvfz mysql-8.0.19.tar.gz
먼저 디렉토리를 생성해주고 그 디렉토리 안에서 설치를 진행한다.
$ cd /usr/local/mysql-8.0.19
$ 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 test
$ make install
여기서 cmake를 한다면 다음과 같은 오류가 나올 것이다.
CMake Error에 대해서 검색해보니 압축파일을 다운받으면 해결된다고 한다.
과정은
1. /usr/local/src 에 가서
2. 압축파일을 다운 받고
3. 압축을 해제한다.
4. mysql 설치할 때 사용했던 boost 경로를 수정하고
5. 다시 cmake 실행 !
이 부분이 굉장히 번거로웠는데 아주 잘 나와있었다 ㅠㅠ
참고: https://yeni-days.tistory.com/7?category=1020921
/usr/local/mysql-8.0.19/millimysql# 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/millimysql
/usr/local/mysql-8.0.19/millimysql# 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
boost 경로 수정은 cmake구문 마지막 줄
-DWITH_BOOST=/usr/local/mysql/boost 이 부분을
-DWITH_BOOST=/usr/local/mysql/boost_1_70_0 으로 바꿔줘야한단다.
(하......뭔놈의 에러가 이렇게 많은지)
아래 사진은 cmake 완료!
cmake가 완료되었으면 make와 make install을 까먹지 말고 해주자.
(참고로 make가 아주아주 오래 걸린다..! 필자는 3-4시간 걸린 듯 )
make가 끝났다.
make install도 끝났다. ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ
make 중에 렉과 오류가 반복되었는데 재부팅하니까 해결되었다. 역시 재부팅은 만능해결사(?) !!
mysql 설치 중에 너무 많이 error가 떴다. 이틀 내내 퇴근 후 mysql 오류만 붙잡고 있어서 꿈에서도 mysql 설치할 것 같다.
cd /usr/local/mysql-8.0.19/millimysql
# groupadd mysql
# useradd -r -g mysql -s /bin/false mysql
/usr/local# cd mysql
/usr/local/mysql# mkdir mysql-files (이름 아무거나 상관없음)
/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
/usr/local/mysql# bin/mysqld --initialize --user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data
이렇게 실행이 끝나면 임시 비밀번호가 나온다 ! 기억해둘 것
/usr/local/mysql# bin/mysqld_safe --user=mysql &
이렇게 명령어를 입력하면 다음과 같이 터미널이 멈춰있다.
이때, 여기서 바로 명령어를 입력하고 임시 비밀번호를 입력하면 mysql에 접속 성공
#bin/mysql -u root -p
#Enter password: 비밀번호 입력
바꿀 패스워드를 입력하고 엔터를 쳤다.
서버가 실행되고 있는 것을 보고 싶다면 다른 터미널 창에서
$ps -ef | grep mysqld
명령어를 입력하면 실행되고 있는 것이 보인다.
여기서 'root-password'부분에 본인이 원하는 비밀번호를 입력하면 된다.
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'root-password';
mysql>exit
서버를 종료하고 싶을 때 shutdown 이용하기
/usr/local/mysql# bin/mysqladmin -u root -p shutdown