유랑하는 나그네의 갱생 기록

だけど素敵な明日を願っている -HANABI, Mr.children-

Computer Science/Database

[MySQL] Mac M1 MySQL 설치 with DBeaver

Madirony 2024. 8. 4. 20:12
728x90

MySQL & DBeaver

 프로젝트하려고 환경 설정 중이었는데 워크벤치가 먹통이 되어버렸습니다. Window 환경에서도 맘에 들지 않았던 워크벤치였는데 Mac에서는 더 심하네요. 맘에 들지 않습니다. 예전에 DBeaver라는 툴을 썼었는데 편리했던 기억이 있어서 요번엔 요걸로 써보려고 합니다.

MySQL

터미널로 설치하기

brew install mysql

서비스 시작/종료

(base) ☁  ~  mysql.server start
Starting MySQL
. SUCCESS!

(base) ☁  ~  mysql.server stop

root 비밀번호 초기화

(base) ☁  ~  mysql_secure_installation

mySQL 접속

(base) ☁  ~  mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 12
Server version: 8.3.0 Homebrew

DB 확인

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| enjoytrip          |
| information_schema |
| mysql              |
| new_schema         |
| performance_schema |
| ssafydb            |
| ssafysample        |
| sys                |
| test3              |
+--------------------+
9 rows in set (0.01 sec)

mysql>

DB 선택 및 table 확인

mysql> use enjoytrip
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> show tables;
+------------------------+
| Tables_in_enjoytrip    |
+------------------------+
| attraction_description |
| attraction_detail      |
| attraction_info        |
| board                  |
| board_comment          |
| favorites              |
| file_info              |
| friend                 |
| gugun                  |
| join_friend            |
| join_place             |
| member                 |
| sido                   |
| travel_plan            |
+------------------------+
14 rows in set (0.00 sec)

table 조회

mysql> select * from sido;
+-----------+-----------------------+
| sido_code | sido_name             |
+-----------+-----------------------+
|         1 | 서울                  |
|         2 | 인천                  |
|         3 | 대전                  |
|         4 | 대구                  |
|         5 | 광주                  |
|         6 | 부산                  |
|         7 | 울산                  |
|         8 | 세종특별자치시        |
|        31 | 경기도                |
|        32 | 강원도                |
|        33 | 충청북도              |
|        34 | 충청남도              |
|        35 | 경상북도              |
|        36 | 경상남도              |
|        37 | 전라북도              |
|        38 | 전라남도              |
|        39 | 제주도                |
+-----------+-----------------------+
17 rows in set (0.00 sec)

유저 생성

mysql> create user 'madirony'@'localhost' identified by '{비밀번호}';

 일단은 내부 접속용으로 만들어놓고 필요하면 나중에 바꿀 예정입니다.

mysql> select user, host from user;
+------------------+-----------+
| user             | host      |
+------------------+-----------+
| ssafy            | %         |
| madirony         | localhost |
| mysql.infoschema | localhost |
| mysql.session    | localhost |
| mysql.sys        | localhost |
| root             | localhost |
+------------------+-----------+
6 rows in set (0.00 sec)

 조회하면 계정이 생성된 것을 확인할 수 있습니다.

모든 DB와 table에 대해 권한 부여

mysql> grant all privileges on *.* to 'madirony'@'localhost';
Query OK, 0 rows affected (0.01 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)

 root 계정 대용으로 만들었기도 하고 권한은 나중에 다시 바꿔도 되니까 모두 접근이 가능하도록 설정해 두었습니다. 변경된 권한을 바로 적용하려면 flush privileges 명령어를 사용하면 됩니다.

재접속 후 계정 확인

(base) ☁  ~  mysql -u madirony -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 17
Server version: 8.3.0 Homebrew

Copyright (c) 2000, 2024, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> select user();
+--------------------+
| user()             |
+--------------------+
| madirony@localhost |
+--------------------+
1 row in set (0.00 sec)

 성공적으로 방금 만든 계정에 접속하였습니다.


DBeaver

DBeaver 설치

(base) ☁  ~  brew install DBeaver-community

MySQL 설정

DBeaver

 DBeaver를 실행하고 MySQL을 연결합니다.

 

Connect
Test Connection

 연결 테스트까지 마쳤으면 끝났습니다.

 

설정 완료
SQL 테스트

 테스트용 SQL을 실행하니 테이블 조회가 잘 되는 것을 확인할 수 있었습니다.

 

NoSQL

 DBeaver의 한가지 아쉬운 점은 Community 버전은 NoSQL 연결이 안 된다는 점... 그래도 하나의 DB 관리 툴로 대부분의 DB를 편리하게 다룬다는 것 하나는 좋습니다. 나중에 여유 있으면 결제해서 쓸 듯하네요.


UserEntity

 프로젝트는 그래도 어느 정도는 했었지만.. 겉핥기로만 쌓아온 거 같아 차근차근 하나씩 다시 해보고 있는 중입니다. 개념적으로 부족한 부분을 좀 더 채우고 100% 이해한 것을 적용하는 식으로 ..? 그래서 속도는 조금 느릴 수도 있긴 한데 면접에서 말할 지식 챙기는 거라 생각하면 괜찮은 것 같습니다.. 아직 모르는 게 너무 많거든요.

 

JPA

 그래서 JPA 설정 쪽도 다시 봤었는데 예전에 경험했던 문제를 사전 차단하는 정도 ...? 같은 실수를 번복하지 않는 게 가장 중요하죠. 이번에는 DB를 자동으로 만들 때 컬럼 명이나 테이블 명을 신경 써보려고 합니다. 자바에서는 카멜 케이스를 쓰지만 DB에서는 스네이크 케이스를 주로 쓰니까.. 이게 예전 프로젝트에서는 통일이 안된 상태로 각자 개발하다 보니까 번거로웠거든요.

 

snake_case

 진도를 많이 나간 건 아니지만 오랜만에 개발하니까 재밌네요. 취업할 때까지 미친 듯이 달려보겠습니다. 허송세월하기도 싫고 더 이상 놓치기도 싫고.. 남은 20대를 갈아 넣어야겠습니다.

728x90