1. MySQL 실습을 위한 기본 설정
1) MySQL 설치
· https://dev.mysql.com/downloads/installer/ → Version(8.0.39, 303.6M) Download → 오라클 계정 로그인 → Download
· 설치한 파일 원하는 경로에 옮긴 후 실행 (파일명: mysql-installer-community-8.0.39.0.msi)
· Full 선택 후 Next (필요한 것에 맞게 선택 후 설치)
※ MySQL 설치 전 Visual C++ 설치 확인 필수!!! → 설치 안 돼있으면 먼저 설치 후 진행
· Next
· Installation에서 Execute
· Next
· Next, AuthenticationMethod에서도 Next
· root 비밀번호 설정: 반드시 기억할 것!!!
· Windows Service Next, Server File Permissions Next, Apply Configuration Execute, Finish 클릭
· Product Configuration Next, MySQL Router Configuration Finish, Next 클릭
· 설정한 비밀번호 입력 후 Check, 이상없으면 정상이므로 Next
· Apply Configuration Execute, Finish
· 체크 박스 두 개 모두 해제 후 Finish
· 정상 설치되면 아래와 같이 MySQL Shell과 Workbench가 실행된다!!!
2) 설치 후 경로 설정
검색창 → path → 환경 변수 → 시스템 변수 → path 편집 → mysql.exe 파일이 위치한 폴더 경로 복사+붙어넣기
(폴더 경로 C:\Program Files\MySQL\MySQL Server 8.0\bin)
2. MySQL 실습
1) cmd 실행
· 한글 깨짐을 방지하기 위해 cmd 상의 언어부터 설정: chcp 명령어 입력
· 우측 사진과 같이 출력된 값이 65001이 아니면! chcp 65001 명령어 입력
2) MySQL root 계정으로 접속: mysql -u root -p → 설정한 root 계정 비번 입력
3) DB와 table 조회
· DB 관련 정보 노출: show databases;
· mysql DB table 조회: use mysql; → show tables;
4) 새로운 DB 생성
· DB 생성 명령어: create database [DB명];
· study_db라는 이름으로 DB 생성: create database study_db default character set utf8mb4;
※ Character set 지정해줘야 하는 이유
단순하게 DB를 생성해도 되지만, 영어권 국가들이 아닌 경우 문자가 깨져서 입/출력 되기 때문에
명시적으로 utf8mb4로 지정 필요
5) 사용자 계정 생성
· 계정 생성 명령어: create user [계정id]@'%' identified by '[계정pw]';
→ %: 모든 클라이언트에서 접근 가능하도록 설정
→ % 대신 localhost 혹은 IP: 해당 컴퓨터 혹은 특정 IP에서만 접근 가능하도록 설정
· study_user 계정 생성: create user study_user@'%' identified by '1111';
6) 새 계정에 권한 부여
· 권한 부여 명령어: grant all privileges on [DB명].* to '[사용자@호스트]';
→ all privileges 사용자에게 모든 권한 부여
→ all privileges 대신 select 기재하면 select 권한만 부여
· study_user 계정에 권한 부여: grant all privileges on study_db.* to study_user@'%' with grant option;
→ with grant option: grant 명령어를 사용할 수 있는 권한을 동시에 부여
7) 권한 설정 후 적용 및 종료
· flush privileges;
· exit
8) 새 계정으로 로그인 후 DB 접근
· mysql -u study_user -p → 1111 입력
· use study_db;
9) table 생성 및 구조 확인
· auto_increment: 1부터 시작하여 값을 계속 증가시켜주는 기능, bigint 사용 권장
· default 0: 데이터 미입력 시 기본값 0으로 설정
10) 데이터 추가 후 조회
· insert into test_table(name, address, phone) values('홍길동','서울','01012345678');
3. Quiz
1. root 로그인 후 vue_db 생성
· create database vue_db default character set utf8mb4;
2. vue_user 생성 후 vue_db 접근 권한 설정
· create user vue_user@'%' identified by '1111';
· grant all privileges on vue_db.* to vue_user@'%' with grant option;
3. vue_user 로그인
4. 제공된 자료를 바탕으로 3개의 테이블 생성
· table name: customer
create table customer(
cus_id bigint primary key auto_increment,
create_date date not null,
cus_name varchar(30) not null,
jumin_id varchar(20) not null,
email varchar(50),
tel varchar(20) not null,
phone varchar(20),
job varchar(20) not null,
addr varchar(100),
m_id bigint
);
· table name: manager
create table manager(
m_id bigint primary key auto_increment,
m_name varchar(30) not null,
dept varchar(50),
position varchar(30),
phone varchar(20)
);
· table name: counsel
create table counsel(
coun_id bigint primary key auto_increment,
cus_id bigint,
date date,
time varchar(20),
content varchar(1000)
);
5. 샘플 데이터 입력
· table name: customer
· table name: manager
· table name: counsel
'GSITM_하이미디어 > MySQL' 카테고리의 다른 글
MySQL 서브 쿼리와 트랜잭션 (4) | 2024.09.04 |
---|---|
MySQL 제약 조건과 JOIN (0) | 2024.09.04 |
MySQL 내장 함수 종류 (0) | 2024.09.03 |
MySQL 활용 기초편 (0) | 2024.09.02 |
[데이터베이스 이해] DB, DBMS, SQL의 개념 (0) | 2024.08.29 |