설치는 아래 링크를 참조하자
MySQL 설치 및 스키마 생성
위와 하나가 다른 것이 있다면 설치에 아래와 같은 메뉴가 빠져있는데 이건 그냥 기본에 두고 넘어가면 된다
환경 변수도 빼먹을 수는 없다 아래와 같이 환경변수도 추가해준다
아래는 회사 DB 접속할때 필요한 사항을 입력해 줬다 ( 물론 기밀사항은 가림 )
입력한 사항 : (예시)
Connection Name : master
Connection Method : Standard TCP/IP over SSH 선택
SSH HostName : 168.52.12.255:10032 (만일 포트번호가 3306이라면 입력 안 해도 된다)
SSH Username : dbuser
SSH Password : "Sore in Vault" 클릭 - 원격 접속 시 필요한 비번 입력
SSH Key File : SSH 접속할 때 필요한 Private Key(.pem) 가 있다면 넣어주면 됨
좌측의 "Navigator" 에서 Schemas 라는 칸을 누르면 DB 목록들을 볼 수가 있다
로컬에서 DB 생성하는 방법은 설치시 참조 했던 링크를 다시 참조하면 된다
MySQL 설치 및 스키마 생성
접속할 때 대소문자는 잘 구분 해주어야 한다
-p
뒤에는 비밀번호 입력칸인데 비밀번호를 따로 A1234567 와 같이 설정했다면
-pA1234567
과 같은식으로-p
와 붙여서 바로 비밀번호를 입력해주면 된다
로컬 서버 접속 : mysql -u {username} -p
( ex. mysql -u root -p
)
원격 서버 접속 : mysql -h {hostIP} -P {PortNumber} -u {username} -p
(ex. mysql -h 168.52.12.255 -P 10032 -u dbuser -p
)
원격 - DB(Schema) 바로 접속 : mysql -h {hostIP} -P {PortNumber} -u {username} -p {DBname}
(ex. mysql -h 168.52.12.255 -P 10032 -u dbuser -p myschema
)
status
: 현재 상태보기show databases;
: DB 목록 보기use {databse_name};
: 위에서 확인한 DB 목록 중 이용할 하나의 DB 를 선택select database();
: 선택한 DB 보기show variables like 'character_set%';
: 문자 세트보기show tables;
: 선택된 DB 에 존재하는 table 목록 보기SHOW FULL TABLES;
: 두번째 열에 Table_type
이 같이 출력 됨show tables from {database_name};
: DB 사용 설정 안한 채로 원하는 DB 의 tables 목록 보기SHOW TABLES LIKE {pattern};
: i.e.) SHOW TABLES LIKE 'permissions%';
SHOW COLUMNS FROM {table_name}
OR SHOW COLUMNS FROM {database_name}.{table_name}
: 칼럼명 보기mysql -u {user} -p -e 'SHOW TABLES FROM {database_name};'
: mysql 접속하지 않은채로 table 리스트 살펴보기mysql -u {user} -p -e 'USE {database_name}; SELECT * FROM {table_name};'
: mysql 접속하지 않은 채로 table data 리스트 보기 (DATABASE 가 한개일 시 USE
는 생략 가능하며 USE
를 빼고 사용하려면 FROM {database_name}.{table_name};
형식으로도 사용가능)mysql -u {user} -p -e "USE {database_name}; SELECT * FROM {table_name} WHERE date BETWEEN '2022-01-01' AND '2022-12-31' ORDER BY date ASC;" | sed 's/\t/","/g;s/^/"/;s/$/"/;' > {csv_name}.csv
: table data 결과를 csv 로 저장mysql -u root -p -e "SELECT * FROM {database_name}.{table_name} WHERE ID=10 AND DATE(date) BETWEEN '2023-01-06' AND '2023-01-26';"
: DML 의 다른 예시, 쿼리문에 싱글쿼트('
) 가 들어가면 더블쿼트("
)로 쿼리문을 감싸줘야함.exit
: mysql 나가기-p{PassWord}
를 같이 사용해 줬다면 만일을 대비해서 history 목록을 다 삭제해준다Ctrl+L
: 콘솔 창 클리어 그리고 아래와 같이 history
전체 목록을 지우거나 history -d {라인번호}
로 해당 라인 번호만 삭제하면 된다history -c
reset
tput reset
~/.bash_history
라는 기록파일에 기록이 추가된다. ( history
명령어를 치면 나오게 도와주는 저장소가 임시 저장소. 즉, history -c
command 를 치고 bash 를 종료했다면 ~/.bash_history
에는 아무 것도 기록되지 않는다. )# 배쉬까지 종료하고싶지 않으면 exit를 빼면 된다
cat /dev/null > ~/.bash_history && history -c && exit
자주사용하는 쿼리문을 잠깐 작성해보고자 한다
SELECT DISTINCT {칼럼이름} FROM {테이블이름} WHERE {칼럼이름} LIKE '%{검색어}%';
: 특정 열, 특정 검색어의 의 고유값(unique value) 만 보기 SELECT * FROM {테이블이름} LIMIT {숫자};
: head({숫자}) 와도 같다. 5,10 으로 하면 5~10번째 열도 출력가능하다