MySQL Database
MySQL 은 다음 두 개의 요소를 포함한다.
- MySQL Database Server
- MySQL Workbench
MySQL Database Server
MySQL Database Server 는 data 들을 실제로 저장하는 곳이며, data 들에 대한 CRUD features 들을 지원한다.
MySQL Workbench
MySQL Workbench 는 database 와 상호작용할 수 있는 client GUI 이며, GUI 를 통하여 database schema 와 table 들을 생성할 수 있다. 또한 SQL query 들을 실행하여 data 를 가져올 수 있다. database 에 대하여 data 를 insert, update, delete 할 수 있으며, 사용자 계정을 만들고 권한을 설정하거나 관리하는 등의 administrative 한 기능을 사용할 수 있다. 이외에도 여러가지 동작을 수행할 수 있다.
Compatibility
MySQL Database Server 와 Workbench 간에는 버전 호환성이 존재한다. 테스트에 성공한 버전 호환성은 다음과 같다.
Server - MySQL Community Server 8.0.41 Workbench - MySQL Workbench 8.0.41
Setting Up Database Table
Create New User
우선 Workbench 에서 Local instance 에 접속한 뒤, 다음 SQL 코드를 실행한다.
-- Drop user first if they exist
DROP USER if exists 'springstudent'@'localhost';
-- Now create user with prop privileges
CREATE USER 'springstudent'@'localhost' IDENTIFIED BY 'springstudent';
GRANT ALL PRIVILEGES ON * . * TO 'springstudent'@'localhost';간단히 살펴보면, 우선 localhost host 를 대상으로, springstudent 라는 user 가 존재하면 해당 USER 를 삭제한다.
그 이후에는 사용자 계정의 이름을 springstudent, 비밀번호를 springstudent 로 설정하여 새로운 USER 를 추가한다.
마지막으로, localhost 를 대상으로, springstudent 계정에 대하여 *,*, 즉 모든 데이터베이스의 모든 테이블에 대한 권한을 부여한다.
이후 모든 script 를 실행하고, [Administration] > [Users and Privileges] > [User Accounts] 에서 살펴보면 아래와 같이 springstudent 의 이름으로 새로운 계정이 생성된 것을 볼 수 있다.

Setup New Connection
이후 위와 같이 springstudent 계정에 대한 새로운 Connection 을 생성한다. 이후 해당 Connection 에 접속한 뒤에 다음 script 를 실행하여 student_tracker 이라는 이름의 database 를 만들고, 해당 database 안에서 student 라는 table 을 생성한다. table 의 구조는 다음 코드와 같이 구성한다.
CREATE DATABASE IF NOT EXISTS `student_tracker`;
USE `student_tracker`;
--
-- Table structure for table `student`
--
DROP TABLE IF EXISTS `student`;
CREATE TABLE `student` (
`id` int NOT NULL AUTO_INCREMENT,
`first_name`varchar(45) DEFAULT NULL,
`last_name` varchar(45) DEFAULT NULL,
`email` varchar(45) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=latin1;해당 script 를 실행하면 다음과 같이 성공적으로 database 와 table 이 생성된 것을 볼 수 있다.
