[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 .. \
.
.
.
-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을 설치하면서 그리고 글을 쓰는데 많은 도움이 됐던 블로그입니다!
- hoyeon.log Blog : https://velog.io/@oyeon/Ubuntu-20.04-Mysql-8.0.19-%EC%86%8C%EC%8A%A4-%EC%84%A4%EC%B9%98%EC%BB%B4%ED%8C%8C%EC%9D%BC-%EC%84%A4%EC%B9%98-%EC%88%98%EB%8F%99-%EC%84%A4%EC%B9%98
- TIL Blog : https://vividswan.github.io/2021/06/22/Linux-ubuntu%EC%97%90-MySql-%EC%86%8C%EC%8A%A4-%EC%84%A4%EC%B9%98.html
- 민혁리즘 Blog : https://minhyeok-rithm.tistory.com/entry/Install-MySQL?category=854409