반응형
해당 글에서는 MySQL을 최초 설치하고 GUI 툴인 workbench를 통해서 연결하여 간단한 테이블을 만드는 방법에 대해 이해를 돕기 위해 작성한 글입니다.
1) MySQL Workbench 설치
💡 MySQL Workbench 설치
- MySQL Workbench는 데이터베이스를 시각적으로 관리할 수 있는 GUI 도구입니다.
1. 아래 사이트에 접속하여 workbench를 다운로드합니다.
💡 아래 사이트에 접속하여 workbench를 다운로드합니다.
- M1 프로세서를 사용하고 있어서 macOS(ARM)을 설치합니다.
[ 더 알아보기 ]
💡 MacOS 버전 중 ARM(Advanced RISC Machines)이 뭘까?
- RISC 기반의 프로세서 아키텍처를 의미합니다. Apple에서 자체 개발한 ARM 기반의 'Apple Silicon' 칩을 Mac에 도입했습니다.
- 이로 인해 MacOS의 OS버전 중 ARM은 Apple Silicon을 사용하는 Mac을 지칭합니다.
- M1, M2, M3 시리즈가 이에 해당이 됩니다.
2. 설치 완료
💡 설치 완료
- 설치가 완료되면 아래와 같이 화면이 출력됩니다.
2) MySQL 설치 : homebrew
💡 MySQL 설치 : homebrew
-실제 데이터베이스 시스템을 설치하기 위해 homebrew를 이용하여 설치 및 구성합니다.
1. homebrew 설치
# mysql 설치
$ brew install mysql
2. 설치 버전을 확인합니다
# mysql 설치 버전 확인
$ mysql --version
3. MySQL이 실행 중인지 확인합니다.
💡 MySQL이 실행중인지 확인합니다.
- 최초 설치가 되어도 서비스가 실행이 안됨이 확인이 되어서 이를 위해 서비스가 실행 중인지를 확인합니다.
# 실행중인 서비스 리스트를 확인합니다.
$ brew services list
💡 [참고] 해당 homebrew Service가 실행이 안된 상태에 MySQL의 루트 경로에 접근하면 아래와 같은 문제가 발생합니다.
4. 서비스를 실행시킵니다.
# mysql 서비스를 실행시킵니다.
$ brew services start mysql
# 실행중인 서비스 리스트를 확인합니다.
$ brew services list
3) MySQL 데이터베이스 생성
1. 루트 계정으로 접근합니다.
💡 루트 계정으로 접근합니다
- 최초 비밀번호 설정을 하지 않았으셨다면 패스워드에 그냥 ‘엔터’ 치시면 됩니다
# 루트 계정 접근
$ mysql -u root -p
2. 데이터베이스 목록을 확인합니다.
show databases;
3. 테스트용 데이터베이스를 생성 후 확인합니다.
create database testdb;
show databases;
4. 루트 계정의 비밀번호를 변경하고자 하는 경우 참고하시면 됩니다.
ALTER USER 'root'@'localhost' IDENTIFIED BY '새로운비밀번호';
💡 MySQL 터미널을 나간 뒤 다시 루트로 접근하면 비밀번호가 바뀜을 확인할 수 있습니다.
# 터미널을 나갑니다
$ exit
# 루트 계정으로 접근합니다.
$ mysql -u root -p
5. 사용자를 생성하고 데이터베이스 접근 권한을 부여합니다.
💡 사용자를 생성하고 데이터베이스 접근 권한을 부여합니다
- 루트 사용자 외에 다른 사용자를 구성하여 이를 통해 접근하는 형태로 구성합니다.
# 'localmaster'라는 이름의 사용자를 생성하고, 'localhost'에서 접근 가능하도록 설정합니다. 비밀번호는 'qwer1234'입니다.
CREATE USER 'localmaster'@'localhost' IDENTIFIED BY 'qwer1234';
# 'localmaster' 사용자에게 모든 데이터베이스에 대한 권한을 부여합니다.
GRANT ALL PRIVILEGES ON *.* TO 'localmaster'@'localhost';
# 변경된 권한 설정을 즉시 적용합니다.
FLUSH PRIVILEGES;
# mysql.user 테이블에서 사용자와 호스트 정보를 선택하여 확인합니다.
SELECT User, Host FROM mysql.user;
💡 [참고] 해당 명령어들에 대해 상세히 궁금하시면 아래의 글을 참고하시면 도움이 됩니다. PostgreSQL이지만 MySQL의 DDL, DML, DCL, TCL과 동일합니다.
4) MySQL Workbench 연결
1. workbench를 실행하여 ‘+’ 버튼을 누릅니다.
2. 사전에 구성한 데이터 베이스 연결합니다.
💡 지정한 비밀번호를 입력합니다.
💡 아래와 같이 연결이 됨을 확인할 수 있습니다.
💡 ‘OK’ 버튼을 누르면 설정한 Connection이 생성이 됩니다.
3. 구성한 데이터베이스에 접속해 봅니다.
4. ‘Schemas’ 탭을 누르면 생성된 데이터베이스의 구조를 확인할 수 있습니다.
5. 구성한 데이터베이스에 접근하고 간단한 테이블을 만들어봅니다.
💡 구성한 데이터베이스에 접근하고 간단한 테이블을 만들어봅니다.
- 아래의 SQL 스크립트를 수행하고 테이블에 Refresh All을 선택하면 생성된 테이블을 확인할 수 있습니다.
USE testdb; -- 이미 생성한 testdb 데이터베이스를 사용하겠다는 명령입니다.
CREATE TABLE example_table -- example_table이라는 테이블을 생성합니다.
(
id INT AUTO_INCREMENT,
name VARCHAR(100),
PRIMARY KEY(id)
);
5) 최종 결과 확인
💡 최종 결과 확인
- MySQL 설치 및 MySQL Workbench 설치 완료
- 데이터베이스 생성 및 사용자 추가, 권한 부여 완료
- MySQL GUI 툴인 Workbench 연결 완료
- 생성된 데이터베이스 내에 테이블 생성 완료
6) 참고
1. MySQL 구성 및 사용 명령어
분류 | 명령어 유형 | 명령어 | 설명 |
계정 관리 | 계정 접근 | mysql -u root -p | Root 계정으로 MySQL을 접근합니다. |
데이터베이스 관리 | 데이터베이스 조회 | show databases; | 데이터 베이스를 조회합니다. |
데이터베이스 관리 | 데이터베이스 선택 | use <database-name>; | 사용하려는 데이터베이스를 선택합니다. |
데이터베이스 관리 | 데이터베이스 생성 | CREATE DATABASE <database-name>; | 데이터베이스를 생성합니다. |
테이블 관리 | 테이블 조회 | show tables; | 데이터베이스 내의 테이블 목록들을 조회합니다. |
테이블 관리 | 테이블 컬럼 조회 | desc <table-name>; | 테이블의 컬럼들을 조회합니다. |
테이블 관리 | 테이블 생성 스크립트 확인 | show create table <table-name>; | 테이블 생성 스크립트를 확인합니다. |
테이블 관리 | 테이블 인덱스 조회 | show index from <table-name>; | 테이블 내의 인덱스를 조회합니다. |
사용자 관리 | 사용자 확인 | select current_user(); | 현재 사용중인 사용자들을 조회합니다 |
사용자 관리 | 사용자 생성 | CREATE USER <user-name>@'<host>' IDENTIFIED BY '<password>'; | 특정 host의 사용자를 생성합니다. |
사용자 관리 | 사용자 비밀번호 변경 | ALTER USER <user-name>@<host> IDENTIFIED BY '새로운비밀번호'; | 특정 host의 사용자 비밀번호를 새로 변경합니다 |
사용자 관리 | 사용자 권한 부여 | GRANT ALL PRIVILEGES ON . TO '<user-name>'@'<host>'; | 특정 host의 사용자의 권한을 부여합니다 |
사용자 관리 | 사용자 삭제 | drop user '<user-name>'@'<host>'; | 특정 host 내에 사용자를 삭제합니다. |
사용자 관리 | 사용자 권한 확인 | show grants for '<user-name>'@'<host>'; | 특정 host 내의 사용자의 권한을 확인합니다. |
사용자 관리 | 특정 DB 권한 부여 | grant all privileges on <DB>.* to '<user-name>'@'<host>'; | 특정 host 내에 사용자에게 DB의 모든 권한 부여합니다. |
사용자 관리 | 사용자 권한 취소 | revoke all privileges on <db-name>.* from <user-name>@'<host>'; | 특정 host 내의 사용자에게 DB의 권한을 취소합니다. |
사용자 관리 | 변경 사항 적용 | flush privileges; | 권한 변경(추가/취소)에 대해 즉시 적용합니다. |
2. 최초 테스트 환경 구성
💡 최초 테스트 환경 구성
- 데이터베이스를 최초 설치하고 루트 계정으로 접근하여 데이터베이스를 생성하고 사용자에게 데이터베이스에 대한 사용 권한을 부여하는 기초 환경입니다.
# 1. Root 계정으로 MySQL을 접근합니다.
mysql -u root -p
# 2. 데이터베이스를 생성합니다.
CREATE DATABASE testdb;
# 3. 데이터베이스 생성을 확인합니다.
show databases;
# 4. 사용자를 생성합니다. : localhost의 사용자로 'localmaster'를 생성하고 비밀번호는 'qwer1234'로 지정
CREATE USER 'localmaster'@'localhost' IDENTIFIED BY 'qwer1234';
# 5. 사용자에게 권한을 부여합니다. :'localmaster' 사용자에게 모든 데이터베이스에 대한 권한을 부여합니다.
GRANT ALL PRIVILEGES ON *.* TO 'localmaster'@'localhost';
# 6. 변경된 권한 설정을 즉시 적용합니다.
FLUSH PRIVILEGES;
# 7. 생성된 사용자를 확인합니다 : mysql.user 테이블에서 사용자와 호스트 정보를 선택하여 확인합니다.
SELECT User, Host FROM mysql.user;
오늘도 감사합니다. 😀
반응형
'DB > 환경설정' 카테고리의 다른 글
[DB] Redis(Remote Dictionary Server) 이해하기 -2 : MacOS 로컬 환경 구성 및 명령어 (2) | 2024.03.16 |
---|---|
[DB/Postgres] 저장 프로시저(Stored Procedure)로 Dummy 데이터 구성 방법 (1) | 2024.01.23 |
[DB] MacOS에서 PostgreSQL 로컬 데이터베이스 구성 방법 (2) | 2022.11.14 |