메뉴 건너뛰기

Korea Oracle User Group

DBMS

MySQL 8.0 Reference Manual - Tutorial - Creating and Using a Database1

 

3.3 Creating and Using a Database

 

이후로 아래 내용에 대해서 살펴 볼 것이다.

 

  • Create a database
  • Create a table
  • Load data into the table
  • Retrieve data from the table in various ways
  • Use multiple tables

 

현재 서버에 사용 가능한 데이터베이스를 확인하려면 SHOW 문장을 아래와 같이 사용해 보자

 

mysql> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| dbperson           |
| information_schema |
| mpdbdiag           |
| mysql              |
| performance_schema |
| sakila             |
| sys                |
| world              |
+--------------------+
8 rows in set (0.01 sec)

 

위에 열겨된 데이터베이스 중 특정 데이터베이스를 사용하기 위해서는 아래와 같이 USE 명령어를 통해 사용할 데이터베이스를 지정해야 한다.

 

mysql> USE DBPERSON
Database changed
mysql>

 

생성된 데이터베이스에 접근 가능한 유저의 경우 데이터베이스내의 모든 것을 제거 가능하기 때문에 권한에 대한 관리를 해 주어야 한다.

 

아래는 유저를 생성하고 해당 유저에게 특정 데이터베이스만 사용 가능하게 권한을 부여하는 내용이다.

 

-- root 유저에서 db_mon 계정 생성

mysql> CREATE USER 'db_mon'@'localhost' IDENTIFIED BY 'db_mon';
Query OK, 0 rows affected (0.02 sec)

 

-- 생성된 계정으로 접속하여 사용 가능한 데이터베이스 확인

PS C:\Users\User> mysql -h localhost -u db_mon -p
Enter password: ******
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 17
Server version: 8.0.17 MySQL Community Server - GPL

Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
+--------------------+
1 row in set (0.00 sec)

 

 

 

-- root 유저에서 db_mon 계정 생성
mysql> CREATE USER 'db_mon'@'localhost' IDENTIFIED BY 'db_mon';
Query OK, 0 rows affected (0.02 sec)

-- 생성된 계정으로 접속하여 사용 가능한 데이터베이스 확인
PS C:\Users\User> mysql -h localhost -u db_mon -p
Enter password: ******
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 17
Server version: 8.0.17 MySQL Community Server - GPL

Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
+--------------------+
1 row in set (0.00 sec)

-- 현재 사용 가능한 데이터베이스가 보이지 않는다. 권한을 부여하지 않았기 때문이다. root 계정으로 접속해 dbperson 데이터베이스를 사용할 수 있도록 권한을 부여해 본다.
PS C:\Users\User> mysql -u root -p
Enter password: *******
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 18
Server version: 8.0.17 MySQL Community Server - GPL

Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| dbperson           |
| information_schema |
| mpdbdiag           |
| mysql              |
| performance_schema |
| sakila             |
| sys                |
| world              |
+--------------------+
8 rows in set (0.00 sec)

mysql> GRANT ALL ON dbperson.* to 'db_mon'@'localhost';
Query OK, 0 rows affected (0.01 sec)

-- 이제 권한을 부여 받았으니 다시 db_mon 계정으로 접속하여 사용 가능한 데이터베이스를 확인하고 USE 명령어를 통해 변경해 보자
PS C:\Users\User> mysql -h localhost -u db_mon -p
Enter password: ******
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 19
Server version: 8.0.17 MySQL Community Server - GPL

Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| dbperson           |
| information_schema |
+--------------------+
2 rows in set (0.00 sec)

mysql> USE dbperson
Database changed
mysql>

 

 

 

 

 

위로