MySQL WorkBench 설치 및 세팅(feat. 명령어)

Seongkeun·2022년 11월 30일
1

DataBase

목록 보기
1/3
post-thumbnail

MySQL 설치

설치는 아래 링크를 참조하자
MySQL 설치 및 스키마 생성

위와 하나가 다른 것이 있다면 설치에 아래와 같은 메뉴가 빠져있는데 이건 그냥 기본에 두고 넘어가면 된다


환경 변수 설정

환경 변수도 빼먹을 수는 없다 아래와 같이 환경변수도 추가해준다

  1. 찾기에서 "고급 시스템 설정 보기"

  1. "환경 변수" 클릭

  1. 시스템 변수"Path" 란을 더블 클릭 하던가 선택 후 "편집" 을 누른다

  1. 설치 때 본인이 설치한 위치의 "bin" 폴더위치 를 환경변수에 추가한다. 위 참조 링크 따라서 기본으로 설치했다면 아래 위치에 있을 것이다.
    ( C:\Program Files\MySQL\MySQL Server 8.0\bin )

  1. CMD 나 BASH 에서 "mysql -V" (V는 대문자로) 입력하고 아래와 같이 나온다면 성공


MySQL WORK BENCH 세팅 ( 원격 접속 및 로컬에서 DB 생성 )

아래는 회사 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 생성

로컬에서 DB 생성하는 방법은 설치시 참조 했던 링크를 다시 참조하면 된다
MySQL 설치 및 스키마 생성




콘솔로 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 가 종료될 때~/.bash_history 라는 기록파일에 기록이 추가된다. ( history 명령어를 치면 나오게 도와주는 저장소가 임시 저장소. 즉, history -c command 를 치고 bash 를 종료했다면 ~/.bash_history 에는 아무 것도 기록되지 않는다. )
    그렇기에 editor 를 열어서 직접기록을 지우거나 아래와 같이 기록파일에 있는 기록을 다 제거하면 된다
# 배쉬까지 종료하고싶지 않으면 exit를 빼면 된다
cat /dev/null > ~/.bash_history && history -c && exit

번외 쿼리문

자주사용하는 쿼리문을 잠깐 작성해보고자 한다

  • SELECT DISTINCT {칼럼이름} FROM {테이블이름} WHERE {칼럼이름} LIKE '%{검색어}%'; : 특정 열, 특정 검색어의 의 고유값(unique value) 만 보기
  • SELECT * FROM {테이블이름} LIMIT {숫자}; : head({숫자}) 와도 같다. 5,10 으로 하면 5~10번째 열도 출력가능하다
profile
지혜는 지식에서 비롯된다

0개의 댓글