ubuntu 20.04 / apache 2.4.46 환경에서 진행
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 Community Server 8.0.19 설치
/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. MySQL 설치
cmake : 설치 옵션 부여 / make : build & compile / make install: 컴파일된 파일 설치
mysql-8.0.19 디렉토리 내에 새로운 디렉토리 (leesusql) 생성 후 그 안에서 cmake 수행
/usr/local/mysql-8.0.19/leesusql# 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/leesusql# make
/usr/local/mysql-8.0.19/leesusql# make install
cmake 중 error —

에러 메세지에 알맞는 버전의 boost파일 다운받아야된다.
- solve: usr/local/mysql/boost에tar xvfz boost_1_70_0.tar.gz
- wget https://sourceforge.net/projects/boost/files/boost/1.70.0/boost_1_70_0.tar.gz
4. MySQL 데이터베이스 초기화
- **Mysql 그룹 및 유저 생성 -**Mysql은 DB의 소유권이 mysql로 지정되어야 있어야 하는데, mysql user가 없다면 오류가 난다.
/usr/sbin/groupadd mysql
/usr/sbin/useradd mysql -M -s /bin/false
- 권한 설정chmod: 파일과 디렉토리의 사용 권한 변경
- chown: 파일의 소유권자 변경
/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
- 기본 데이터 베이스 설정 -mysqld는 Mysql 서버로, 백그라운드에서 돌아가고 있는 프로세스다./usr/local/mysql/bin# ./mysqld --initialize --user=mysql \--datadir=/usr/local/mysql/data
- --basedir=/usr/local/mysql \
- Mysql 서버는 Mysql database와 table을 포함하는 data directory에 대한 access를 관리하여 준다.
—> 랜덤한 문자로 tmeporary password 가 발급된다. 임시 비밀번호로 나중에 바꿔준다.
5. 서버 실행 및 종료
서버 실행 (& 사용하여 백그라운드로 실행)
/usr/local/mysql/bin# ./mysqld_safe --user=mysql &
- 서버 실행 check
- $ ps -ef | grep mysqld
서버 연결
/usr/local/mysql/bin# ./mysql -u root -p
—> 발급받은 임시 비번 입력하고 명령어를 통해 비밀번호를 변경해 준다.
mysql> alter user 'root'@'localhost' identified with mysql_native_password by ~~~~~ ;
서버 종료 (shutdown)
/usr/local/mysql/bin# ./mysqladmin -u root -p shutdown
ps -ef | grep mysqld 명령어로 서버 종료 확인 가능
-MySQL 서비스 등록
/usr/local/# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
/usr/local/# vi /etc/init.d/mysqld
—>basedir 에 /usr/local/mysql 경로 입력 & datadir 에 /usr/local/mysql/data 경로 입력

mysql에 service 등록
/usr/local# update-rc.d mysqld defaults
mysql을 쉽게 끄고 킬 수 있는 service 명령어
/usr/local# service mysql start /usr/local# service mysql stop /usr/local# service mysql restart /usr/local# service mysql status //서버 상태 확인. 나갈 땐 q
my.cnf 파일을 수정하여 환경 설정 수정
/usr/local/# vi /etc/my.cnf
수정할 내용
- [mysqld]port=3306datadir=/usr/local/mysql/data
- basedir=/usr/local/mysql
- bind-address=0.0.0.0
—> 위의 내용을 추가해주면 ./mysqld_safe --user=mysql & 실행 시 옵션에 port가 추가되는 것을 확인 할 수 있음
'[Server]' 카테고리의 다른 글
| [Server] AWS 서버 구축 - gabia로 도메인 적용하기 (0) | 2021.07.11 |
|---|---|
| [Server] AWS Server 구축 - Mysql 외부 접속 with Workbench (0) | 2021.07.10 |
| [Server] Mac -AWS 서버 구축 - nginx, php, mysql 설치, phpmyadmin 설치 (0) | 2021.07.10 |
| [Server] Local server 구축 - 외부 ip에서 Local server 접속하기 (0) | 2021.07.10 |
| [Server] APM 컴파일 수동 설치 - (3/3) php 편 (0) | 2021.07.09 |