MYSQL - 세계에서 가장 많이 쓰이는 오픈 소스의 관계형 데이터베이스 관리 시스템
- 다중 스레드, 다중 사용자 형식의 구조질의어 형식의 데이터베이스 관리 시스템
1. mysql 컴파일 설치
※ mysql 5.5 버전 부터는 ./configure 가 아닌 cmake를 통해 컴파일 진행
![](https://blog.kakaocdn.net/dn/bty3pl/btrxgFJMhF3/apbPFXOsXdT85PJY3GBJC0/img.png)
![](https://blog.kakaocdn.net/dn/bsBfhh/btrxgFwe32x/w6ROZOaPHTpUi85Bk3KoP1/img.png)
![](https://blog.kakaocdn.net/dn/9XzJd/btrw9NoZVhP/MMsGs5w0fGgfAtzjKuOQLK/img.png)
![](https://blog.kakaocdn.net/dn/wtQVP/btrxdH87Ft3/knjraNPXFRhMFbaTWjkDSk/img.png)
![](https://blog.kakaocdn.net/dn/cr8jCo/btrxdO8LgAU/WaokdVfgWQPVKqSLA4aRZ1/img.png)
![](https://blog.kakaocdn.net/dn/qocKx/btrxhRQEQ5V/ZQv4TGYdosXNSdfXX7XioK/img.png)
![](https://blog.kakaocdn.net/dn/AZAvP/btrw6Wz0ior/Qv8S9970K1Y64vrBgqdBWK/img.png)
※ 컴파일 설명
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
mysql 설치할 디렉토리
-DMYSQL_DATADIR=/usr/local/mysql/data \
db설치(data폴더)할 디렉토리
-DDEFAULT_CHARSET=utf8 \
mysql 서버의 문자셋
-DDEFAULT_COLLATION=utf8_general_ci \
db의 문자셋
-DWITH_EXTRA_CHARSETS=all \
추가로 지원할 문자셋
-DENABLED_LOCAL_INFILE=1 \
local_infile변수 사용가능여부, 텍스트 파일의 데이터를 특정 테이블에 저장하는 변수
-DMYSQL_USER=mysql \
mysql유저를
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
스토리지 엔진, default innodb
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
스토리지 엔진
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
스토리지 엔진
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
스토리지 엔진
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
mysql 소켓 디렉토리
-DMYSQL_TCP_PORT=3306
mysql 포트번호, default가 3306
![](https://blog.kakaocdn.net/dn/ctozzD/btrxhRQEQ6b/kdF4FqgPbuq801pPbjU4G0/img.png)
![](https://blog.kakaocdn.net/dn/qrPKK/btrxexZ3HRa/Yb1Ck7OmkZJUkt1jyBAKuK/img.png)
mysql 그룹 및 계정 만들기
groupadd mysql
useradd -g mysql mysql
![](https://blog.kakaocdn.net/dn/bMvpH9/btrw9OIc2C9/g37A24jhtMUFmQVvRNGLWk/img.png)
![](https://blog.kakaocdn.net/dn/bOY5P3/btrxhMPo319/QWnzy6qltTJQ6KhEmMUgiK/img.png)
![](https://blog.kakaocdn.net/dn/eybU7b/btrxfvni33O/bh6dzFXYhLB4mkDQT5wLlK/img.png)
![](https://blog.kakaocdn.net/dn/FkV3n/btrxhSIOaWP/jFPqPxo0dr8mnZ0HAnzzlk/img.png)
![](https://blog.kakaocdn.net/dn/ch0gJg/btrxcgKZehQ/kNrHUDkyvrb9bWpa2tgE9K/img.png)
--basedir : MySQL이 설치되어 있는 디렉토리 하부에 있는 베이스 디렉토리를 mysqld에게 알려주고 그곳에서 데이터 디렉토리를 찾도록 하는 옵션
--datadir : 데이터 디렉토리의 위치를 확정적으로 지정하기 위한 옵션
![](https://blog.kakaocdn.net/dn/c5XfoY/btrxgFbWjB0/Ncy4ixINhErtuml3NOZH0K/img.png)
![](https://blog.kakaocdn.net/dn/caFu2K/btrxcaLrbqK/9hLMmRP0gcAF9kq3nIghjk/img.png)
![](https://blog.kakaocdn.net/dn/DM30e/btrxeykjHmK/40vAZcakwaYnDXZLFn8Tg1/img.png)
![](https://blog.kakaocdn.net/dn/cqbS5j/btrxgn3FyVx/albDma3sPdTx3k1wwkk6PK/img.png)
![](https://blog.kakaocdn.net/dn/Cbf7y/btrw709Xn6C/AUjmKtFcyvCTaNxM4ge5Pk/img.png)
2. mysql_secure_installation 설정 (보안)
![](https://blog.kakaocdn.net/dn/bSk7bJ/btrxb1UMi24/BHcUEdbdokTmHcoNU2OOe0/img.png)
현재 root 비밀번호 입력
root 패스워드 변경 YES/NO
익명 사용자 삭제 YES/NO
원격 접속 허용 YES/NO
test DB 삭제 YES/NO
수정한 내용 적용
테이블 (수정한 내용) reload YES/NO