MySQL

[MySQL] DB 생성 및 권한 부여

코드비버 2025. 2. 26. 14:15

MySQL은 대표적인 오픈소스 관계형 데이터베이스 관리 시스템이다.

DB관리 시스템은 MySQL 말고도 여러 종류가 있지만, 특수한 목적이 있지 않는 한 MySQL을 쓰는게 가장 무난하다.

아래는 MySQL 설치 링크이다.

 

https://dev.mysql.com/downloads/installer/

 

MySQL :: Download MySQL Installer

MySQL Installer 8.0.41 Note: MySQL 8.0 is the final series with MySQL Installer. As of MySQL 8.1, use a MySQL product's MSI or Zip archive for installation. MySQL Server 8.1 and higher also bundle MySQL Configurator, a tool that helps configure MySQL Serve

dev.mysql.com

 

설치가 완료되면 cmd를 통해 실행하거나 MySQL Workbench에서 시작하면 된다.

cmd보다는 Workbench가 사용하기 편해서 이쪽을 선택했다.

 

DB 생성

create database mini_lifestyle;
use mini_lifestyle;

 

가장 먼저 사용할 DB를 만들어주고(create database) 그 DB를 사용하겠다는 선언(use)을 해주어야 한다.

 

테이블 생성

create table users(
    id int auto_increment primary key,
    userId varchar(255) unique,
    userPw varchar(255),
    nickName varchar(255) unique,
    email varchar(255) unique,
    car varchar(255)
);

 

이제 DB안에서 다룰 데이터를 넣어야 하는데, 커뮤니티에서 사용할만한 대표정인 데이터가 회원 정보이기에 users 라는 테이블을 생성했다.

id는 key 값이 되어야 하기에 primary key로 설정하고 자동으로 증가하는 숫자로 설정했다.

userId와 닉네임, 이메일 주소 또한 중복을 허용하지 않기 위해 unique 속성을 추가했다.

 

데이터 삽입

insert into users (user_id, user_pw, nickname, email, car)
values 
    ('user1', '1234', '말랑박쥐', 'user1@naver.com', '3도어'),
    ('user2', '1234', '딱딱구리', 'user2@naver.com', '5도어'),
    ('user3', '1234', '콩송편은적폐', 'user3@naver.com', '컨버터블'),
    ('user4', '1234', 'NEXTUSER', 'user4@naver.com', '클럽맨'),
    ('user5', '1234', '그랑쥬테', 'user5@naver.com', '컨트리맨'),
    ('user6', '1234', '기름내놔', 'user6@naver.com', '페이스맨'),
    ('user7', '1234', '을왕리타이어도둑', 'user7@naver.com', '로드스터'),
    ('user8', '1234', 'EVI', 'user8@naver.com', '쿠페')

 

이제 각각의 속성에 맞게 데이터를 임의로 삽입하면 된다.

참고로 패스워드를 저렇게 평문으로 저장하는건 보안 위험이 있으므로 실제 서비스를 운영할 땐 반드시 bcrypt 등의 암호화 과정을 거쳐야 한다.

 

데이터 확인

select * from users;

Workbench에서 데이터가 출력된 모습

 

select 구문을 통해 users 테이블로부터 모든 것들을 불러오기 해서 데이터가 잘 저장되었는지 확인해본다.

 

권한 부여 (React / Server 연동)

이제 데이터가 저장된 것을 확인했으니 이 테이블에 접근할 수 있는 사용자를 지정해주어야 한다.

이전 포스팅에서 db.js 파일에 작성한 유저 이름과 패스워드를 참고해 권한을 부여해주면 된다.

// db.js

import mysql from 'mysql2';
 
const db = mysql.createPool({
    host:'localhost',
    user:'manager',
    password:'1111',
    database:'mini_lifestyle'
});
 
export default db;
--MySQL Workbench

create user 'manager'@'%' identified by '1111';
grant all on mini_lifestyle.* to 'manager'@'%';

 

create user 구문을 통해 'manager'라는 사용자를 추가하고 mini_lifestyle DB의 모든 테이블에 대한 권한을 허용했다.

참고로 @'%' 구문은 모든 접근 경로를 허용한다는 의미이다.

'MySQL' 카테고리의 다른 글

[MySQL] Railway에서 DB 생성 및 배포하기  (0) 2025.03.20