Language/MySQL

MySQL database 생성

느낌표 공장장 2021. 7. 12. 23:23

 

 

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