안녕하세요.
오늘은 SQL 사용자 생성을 해보고, 데이터베이스를 불러오는 방법에 대해 알아보겠습니다!
콘솔에서 다음과 같이 명령을 실행합니다.
MYSQL 관리자 계정인 root로 데이터베이스 관리 시스템에 접속하겠다는 것입니다.
mysql -uroot -p
window 사용자는 설치 시에 입력했던 암호를 입력합니다.
맥 사용자는 암호가 없으니 그냥 엔터를 입력하면 됩니다.
MySQL DBMS에 접속하면 “mysql>” 프롬프트가 보입니다.

관리자 계정으로 MySQL에 접속했다면, 다음과 같은 명령으로 데이터베이스를 생성합니다.
mysql> create database DB이름;
저는 다음과 같은 명령을 실행하여 DB이름을 "connectdb" 로 생성하도록 하겠습니다.
mysql> create database connectdb;

* 는 모든 권한을 의미합니다.@’%’는 어떤 클라이언트에서든 접근 가능하다는 의미이고, @’localhost’는 해당 컴퓨터에서만 접근 가능하다는 의미입니다.flush privileges는 DBMS에게 적용을 하라는 의미입니다.어떤 클라이언트에서든 접근 가능
CREATE USER '사용자 이름'@'%' IDENTIFIED BY '암호';
해당 컴퓨터에서만 접근 가능
CREATE USER '사용자 이름'@'localhost' IDENTIFIED BY '암호';
사용자 계정이름은 'connectuser', 암호는 'connect123!@#', 해당 사용자가 사용하는 데이터베이스는 'connectdb'로 계정을 생성하려면 다음과 같이 명령을 수행합니다.
CREATE USER 'connectuser'@'%' IDENTIFIED BY 'connect123!@#';

GRANT ALL PRIVILEGES ON 데이터베이스 이름.* TO '사용자 이름'@'%';
GRANT ALL PRIVILEGES ON connectdb.* TO 'connectuser'@'%';

생성한 사용자로 다시 mysql 로그인을 하니,

성공적으로 실행이 되는 것을 볼 수 있습니다!
작업하기 위한 데이터베이스를 선택하기 위해서는 어떤 데이터베이스가 존재하는지 알아보아야 합니다.
현재 서버에 존재하는 데이터베이스를 찾아보기 위해서 다음과 같이 명령을 실행합니다.
mysql> show databases;

데이터베이스를 선택하기 위해, use 명령어를 사용합니다.
mysql> use connectdb;
데이터베이스를 전환하려면, 이미 데이터베이스가 존재해야 하며 현재 접속 중인 계정이 해당 데이터베이스를 사용할 수 있는 권한이 있어야 합니다.

성공적으로 데이터베이스가 전환된 것을 확인할 수 있습니다!

Database를 선택 후, Database의 전체 테이블 목록을 출력합니다.
mysql> show tables;

“Empty set” 은 데이터베이스에 어떤 테이블도 아직 생성되지 않았다는 것을 알려줍니다.
저는 해당 강의에서 제공하는 examples.sql을 사용하였습니다.
이 examples.sql에는 연습을 위한 테이블 생성문과 해당 테이블에 값을 저장하는 입력문이 존재합니다.
해당 sql을 불러오기 위해 터미널에서 examples.sql이 있는 폴더로 이동한 후, 다음과 같이 명령을 수행합니다.
mysql -uconnectuser -p connectdb < examples.sql

mysql –uconnectuser -p connectdb
그리고 위의 명령으로 connectdb에 접속한 후, 테이블을 조회해 봅시다.
mysql> show tables;

테이블들이 잘 들어있는 것을 확인할 수 있습니다!
table 구조를 확인하기 위해, DESCRIBE 명령을 사용할 수 있습니다.
짧게 DESC라고 사용해도 됩니다.
예시로 "EMPLOYEE" 테이블의 구조를 확인해 봅시다.
mysql> desc EMPLOYEE;

이런 식으로 간단하게 테이블의 구조를 확인할 수 있습니다.
📚Reference
boostcourse - 웹 백엔드