1. 관리자 계정으로 MySQL에 접속하기
1) 터미널에 다음 명령을 실행한다. 그리고 초기 설정했던 비밀번호 입력해준다.
% mysql -uroot -p
☞ MySQL 관리자 계정인 root로 데이터베이스 관리 시스템에 접속하는 것
2) DB 만들기
mysql> create databaseDB 이름
2. Database 사용자 생성
1) Database를 생성했다면, 해당 데이터베이스를 사용하는 계정을 생성해야 한다. 또한 해당 계정이 데이터베이스를 이용할 수 있는 권한을 줘야 한다. (grant)
- db이름.* : 모든 권한을 의미함
- @'%' : 어떤 클라이언트에서든 접근 가능
- @'localhost' : 해당 컴퓨터에서만 접근 가능
2) flush privileges : DBMS에게 적용을 하라는 의미. 이 명령 반드시 실행해야 함!
코드
계정이름에게 이 데이터베이스(db이름)를 사용할 수 있는 모든 권한을 준다. *5.7 버전
grant all privileges on db이름.* to 계정이름@'%' identified by '암호';
grant all privileges on db이름.* to 계정이름@'localhost' identified by '암호';
flush privileges;
* 8 버전
create user 계정이름@localhost identified by '암호';
grant all privileges on db이름.* to '계정이름'@'localhost';
FLUSH PRIVILEGES:
3. 생성한 Database에 접속하기
mysql -h호스트명 -uDB계정명 -p 데이터베이스 이름
- 패스워드는 p자리에 바로 적을 수 있지만, 기본적으로 패스워드는 노출되는 게 별로 좋은 것은 아니므로 나중에 창이 떴을 때 입력하도록 한다.
- ex) db 이름이 connectdb, db계정이 connectuser
-
mysql -h127.0.0.1 -uconnectuser -p conncetdb
-
4. MYSQL 연결 끊기
mysql> quit;
mysql> exit;
Bye 라고 나오면 연결이 성공적으로 끊긴 것이다.
5. 기타
1) MySQL 버전과 현재 날짜 구하기
mysql> select version(), current_date;
2) 키워드는 대소문자를 구별하지 않음
3) 쿼리를 이용하여 계산식의 결과도 구할 수 있음
4) 여러 문장을 한 줄에 연속으로 붙여서 실행 가능
각 문장에 세미콜론(;)만 붙여주면 됨
-
mysql> SELECT VERSION(); SELECT NOW();
5) 하나의 SQL은 여러 줄로 입력 가능
MySQL은 문장의 끝을 라인으로 구분하는 것이 아니라 세미콜론(;)으로 구분하기 때문.
6) SQL을 입력하는 도중에 취소 하기
\c
를 붙여주면 된다.
7) dbms에 존재하는 데이터베이스 확인하기
현 서버에 존재하는 데이터베이스를 찾아보기 위해 show statement 사용
8) 사용 중인 데이터베이스 전환하기
database를 선택하기 위해 "use" command를 사용한다.
mysql> use 데이터베이스명;
* 데이터베이스를 전환하려면, 이미 데이터베이스가 존재해야 하며 현재 접속 중인 계정이 해당 데이터베이스를 사용할 수 있는 권한이 있어야 한다.
기타)
* SQL은 세미콜론으로 끝나야 한다.
* SQL이라고 쓰지만 쿼리라고 읽는다.
* 쿼리는 DBMS에게 명령을 내릴 때 사용하는 문장이다
이 글은 부스트코스 백엔드 강의를 참조하여 쓴 포스트입니다.
https://www.boostcourse.org/web326/lecture/258481/?isDesc=false