1.기본 Query 사용방법 터득
![](https://blog.kakaocdn.net/dn/bLwcOC/btrxeJTfqNo/FIxFFFUE0KJNjd1NW6LK61/img.png)
![](https://blog.kakaocdn.net/dn/dkkfF2/btrxgGB1vM2/rCdlnLIBhTrKJUGfy4SD4k/img.png)
![](https://blog.kakaocdn.net/dn/bwfDKH/btrxgvUKzz5/RGEzyfNfIRFIQuuKKa0fh0/img.png)
![](https://blog.kakaocdn.net/dn/bHmgcY/btrxgoIlPjJ/QqLoxBQcW0H2IuV1THzhk0/img.png)
![](https://blog.kakaocdn.net/dn/dxyp64/btrxcLKMr6c/1qP9ifUqvsJiYkP9bkmGvK/img.png)
![](https://blog.kakaocdn.net/dn/ceqlUv/btrxgwF7npp/HVUhMUByxPfHjmM0b2EjpK/img.png)
![](https://blog.kakaocdn.net/dn/eMqL9O/btrxdHH8RAI/HpMaovXNSsc1ft9wcgnp9k/img.png)
![](https://blog.kakaocdn.net/dn/bHXLo6/btrxgvUKyEP/BbTAcWgnmmrCwHK6kuHV5K/img.png)
![](https://blog.kakaocdn.net/dn/kDAkt/btrxezDCUHH/K0TAp5BZfAV1mElKa2zHk1/img.png)
![](https://blog.kakaocdn.net/dn/yAI1h/btrxeySfCN9/sTOkmh2ho2laBHAd8gb60K/img.png)
![](https://blog.kakaocdn.net/dn/cfA3BQ/btrxhQ5naAd/AGCxD2hRWL8fXikBaBlho0/img.png)
2. mysql processlist(실시간 세션)확인
![](https://blog.kakaocdn.net/dn/nUw4W/btrxgwe1YK2/9ARECzsvvrWyzvYm5DXXuk/img.png)
![](https://blog.kakaocdn.net/dn/n7qP8/btrxcgdaSL2/D6HpJdq6PIWelYTDgfg3c1/img.png)
3. mysql root 패스워드 분실시 해결방법
![](https://blog.kakaocdn.net/dn/caLO3J/btrxgw69N3n/mSyrnKNO28ki9TaVWKK7j1/img.png)
![](https://blog.kakaocdn.net/dn/r40k4/btrxgv8eZFB/gyIjhWHaz3INKk5p7fAGRk/img.png)
![](https://blog.kakaocdn.net/dn/cc3U9j/btrxgwsAmwB/G11QpsTVfcOLxOymQvLLXk/img.png)
![](https://blog.kakaocdn.net/dn/YkbIU/btrxchJ1zS6/05ptcbOgqmqKxvrQGN2pG0/img.png)
![](https://blog.kakaocdn.net/dn/bjkMMv/btrxhMPvi4Q/qNMIIyOc0HQ2k1vH3UuvA0/img.png)
![](https://blog.kakaocdn.net/dn/ceRCZ1/btrxhMWho3n/rHr3kAXTvtopEmOeSLsgLk/img.png)
![](https://blog.kakaocdn.net/dn/MEXlV/btrxb9y7XAT/z1i02XcsDn341iThG8qxG0/img.png)
![](https://blog.kakaocdn.net/dn/1Jx9U/btrxcLYlvCS/8Y4PJfw5myZG9kkIqzndKk/img.png)
4. slow Query logging 설정 방법 및 로그 보는 법
slow Query loging : sql 질의 요청을 했는데 응답이 오래걸릴 경우 이 부분에 대해 log를 남기는것
![](https://blog.kakaocdn.net/dn/bKXXHh/btrxgxkHKwm/jrl4OuAtJL0jVw47CAxOM0/img.png)
![](https://blog.kakaocdn.net/dn/ciILl8/btrxb9FWOyh/ITnknYaH3Yaa3pRdb9jUi1/img.png)
slow_query_log 의 값을 1로 하면 ON, 0이면 OFF
slow_query_log_file 은 log 파일이 생성 될 경로
long_query_time=3 은 query실행시간이 3초 이상인 query 에 대해 log 를 남기겠다는 설정
![](https://blog.kakaocdn.net/dn/cUEWRA/btrxhN8IpYS/zKFn7wRY9HKK3jOkZlh8e1/img.png)
![](https://blog.kakaocdn.net/dn/GoCbe/btrxc20zosH/XJzFB4XD0mAhTxy3bugQmK/img.png)
![](https://blog.kakaocdn.net/dn/cmEcV0/btrxc2sGlAW/e2D5Mz676bK51iibHm59c0/img.png)
![](https://blog.kakaocdn.net/dn/7hRhZ/btrxhRb8KyG/1qke2KnwokcTwwjri6Q2g1/img.png)
![](https://blog.kakaocdn.net/dn/bqpuRF/btrxeJlqmhS/IfPrnUyub1l6elCMABobWk/img.png)
![](https://blog.kakaocdn.net/dn/0aC2H/btrxcgEgOSv/2JHni624UrdFkTXKSD1EK1/img.png)
5. mysql dump 사용법
mysql dump 란 ?
데이터베이스를 백업하는 데 가장 자주 사용되므로 데이터 손실시 내용을 복원 할 수 있음
![](https://blog.kakaocdn.net/dn/bZGP9D/btrxb2zvKha/H027X4og5q3KC8KIoBKHOk/img.png)
![](https://blog.kakaocdn.net/dn/eliKN3/btrxb0BEP6n/yS28K9Y1sF6MmpruMAdW5K/img.png)
그 외 사용방법
mysqldump -u root -p –all-databases > alldatabases.sql
: 모든 데이터를 백업 함
mysqldump -u root -p –all-databases –-no-data> allDDL.sql
: DDL 정보만 백업 함
mysqldump -u root -p –all-databases [DB명] > DB명.sql
: 특정 databases 를 백업 함
6. my.cnf 설정 파일 파악
![](https://blog.kakaocdn.net/dn/PLrmd/btrxdJeTyxd/j4oQCRkeFiuilRJkMTnEHk/img.png)
server-id : MySQL 고유식별값
datadir : 데이터파일이 저장되는 디렉토리
innodb_buffer_pool_size : nnoDB 스토리지 엔진의 버퍼풀은 디스크의 데이터를 메모리에 캐싱함과 동시에 데이터의 변경을 버퍼링하는 역할
innodb_data_home_dir = /var/lib/mysql/idb
: innodb 홈디렉터리 경로를 설정 합니다
innodb_data_file_path = ibdata1:256M:autoextend:max:2000M
: 데이터 파일 옵션을 설정 합니다. 파일명 : 초기용량 : 자동증가 : 최대사이즈
innodb_log_arch_dir = /var/lib/mysql/idb
: 로그 디렉터리 정보
innodb_buffer_pool_size = 2G
: innodb에서 사용할 메모리 양으로 전체 메모리의 50~80% 정도로 설정
innodb_log_file_size = 512M
: 로그 파일 사이즈로 버퍼풀 사이즈의 25% 정도로 설정
innodb_log_buffer_size = 2M
: 로그 버퍼 사이즈로 성능에 맞춰 로그를 기록하는 경우 크게 설정
innodb_flush_log_at_trx_commit = 2
: 커밋 로그 옵션으로 성능 최적화로 1분마다 저장되도록 2로 설정
innodb_flush_method = O_DSYNC
: 성능을 위해 메모리에서 직접 액세스 하도록 설정
log-bin : 로그파일명을 정함
sort_buffer_size : 인덱스를 사용할 수 없는 정렬이나 그룹핑에 메모리 공간을 얼마나 할당할지를 정함
port = 3306
: DB
socket : 소켓파일 경로(로컬서버 접속에 사용)
log-warnings = 3
: 비활성화
log_output = FILE,TABLE
: 로그 기록 유형
log-error
: 에러 로그파일 경로
general_log = OFF
: 제너럴 로그 비활성화 ( DB에서 일어나는 모든 작업에 대한 로그를 남기게 됨)
general_log_file
:제너럴 로그 파일 경로
slow_query_log =on
: 슬로 쿼리 활성화
long_query_time
: 슬로 쿼리 기준 시간
log_queries_not_using_indexes = OFF
: 인덱스를 사용하지 않은 쿼리 기록부여
slow_query_log_file
: 슬로 쿼리 로그 파일 경로
7. mysql global 설정 확인
![](https://blog.kakaocdn.net/dn/NLIry/btrxey5NejO/7UDtN2k4RU6gnQXUdKksa0/img.png)
![](https://blog.kakaocdn.net/dn/bg4W8l/btrxhR4hKM1/QFAMUVnC8XDWXj0dUNYys1/img.png)
![](https://blog.kakaocdn.net/dn/Use95/btrxfwGFHZX/lcsLSrsKAXi8ybHHJaUOtk/img.png)
8. mysql 보안설정
![](https://blog.kakaocdn.net/dn/bOiiQ5/btrxeJTfqyR/ewcgM4r0Wennkuyud1K390/img.png)
skip-networking : 외부 네트워킹 기능 제한
port=3306 : 기본 포트 3306를 변경하여 무분별한 공격시도 차단
set-vgariable = local-infile =0 : 사용자들이 내부 설정 파일 및 기타 파일에 대한 정보를 얻지 못하도록 차단
--skip-show-database : 사용자에게만 show databases 권한 부여
log = /var/log/mysql.log : 로그 활성화
mysql_secure_installaion 설정에서 변경
root 계정 이름 변경 후 비밀번호 변경
test 데이터 베이스 삭제 (test DB는 누구나 접근 가능한 데이터 베이스)
익명 계정이나 사용하지 않는 계정 삭제(보안을 위해 삭제)
![](https://blog.kakaocdn.net/dn/bnungN/btrxb0BEPYC/BTidaVJhAAJezWw3E4RFnK/img.png)
![](https://blog.kakaocdn.net/dn/eiSb7T/btrxeyq8ybf/HSqiv5OSheUeW3KAsUA3I0/img.png)