본문 바로가기
Data Science

M1 맥북 mysql 설치 및 DB 생성, workbench 설치

by Lora Baek 2024. 7. 19.
300x250

로컬에 MySQL 서버를 설치하고, Workbench와 연동해보자.

 

먼저 터미널을 열고, brew가 최신 버전이 아니라면 brew update 명령어로 업데이트를 해준다.

brew로 mysql을 설치해주자.

brew install mysql

 

 

MySQL 서버 시작 명령어는 아래와 같다.

mysql.server start

패스워드 설정 없이 그냥 실행을 원한다면?

mysql -uroot

 

패스워드를 포함한 MySQL 서버 설정을 하고 싶다면? 

mysql_secure_installation

 

Securing the MySQL server deployment. Connecting to MySQL using a blank password. VALIDATE PASSWORD COMPONENT can be used to test passwords and improve security. It checks the strength of password and allows the users to set only those passwords which are secure enough. Would you like to setup VALIDATE PASSWORD component? Press y|Y for Yes, any other key for No:

 

여기서 Y를 입력하면 복잡한 비밀번호로 설정해야만 하고, N은 1234 같은 간단한 숫자로 설정도 가능하다.

나는 N 입력 후 간단하게 비밀번호를 설정해주었다.

 

By default, a MySQL installation has an anonymous user, allowing anyone to log into MySQL without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment. Remove anonymous users? (Press y|Y for Yes, any other key for No) :

 

Y를 입력하면 기본 설정으로 생성된 익명 유저(인증 없이 접속할 수 있는) 계정이 제거된다. 제거 시 접속할 때 mysql -uroot처럼 -u 옵션이 필수가 된다. N을 입력하면 mysql 만 입력해도 된다. 나는 Y로 삭제해주었다.

 

Normally, root should only be allowed to connect from 'localhost'. This ensures that someone cannot guess at the root password from the network. Disallow root login remotely? (Press y|Y for Yes, any other key for No) : 

localhost를 제외한 다른 ip에서 접속 허용을 할 것인지 묻는 질문이다. Y를 입력해주었다.

 

By default, MySQL comes with a database named 'test' that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment. Remove test database and access to it? (Press y|Y for Yes, any other key for No) :

테스트 데이터베이스를 삭제할지 묻는 질문이다. 이것도 Y로 삭제해주었다.

모두 완료되었다면 Reload privilege tables로 변경된 권한을 적용할 것인지 묻는 질문에도 Y를 눌러 완료해주자.

 

서버 실행 관련 명령어를 정리해보자면 아래와 같다.

## 로컬 DB 접속 시
mysql.server start # 서버 시작
mysql -u root -p


## 원격 DB 접속 시 (hostname:3306)
mysql --protocol=tcp -h 'hostname' -P 3306 -u username -p database-name


## 그 외
mysql.server status # 서버 상태 조회
mysql.server stop # 서버 종료

서버 시작 후 DB에 접속했을 때, mysql>이 보인다면 성공한 것이다.

빠져나오고 싶다면 exit을 입력해 엔터를 입력해주자.

 

이제 이 서버를 워크벤치와 연결해줄 것이다.

터미널에 아래 명령어를 입력해 워크벤치를 설치 후, 다운받아준다.

brew install --cask mysqlworkbench

 

터미널에서 아래 명령어를 이용해 워크벤치를 실행할 수 있다.

경험 상 워크벤치는 웬만하면 이렇게 오픈하는 것이 좋다.

풀리지 않던 문제들이 이 방식으로 열어주는 것만으로 해결되었던 경험이 많기 때문.

open /Applications/MySQLWorkbench.app/

 

워크벤치가 실행되면 홈 화면에서, 가운데쯤 MySQL Connections 옆의 + 버튼을 눌러준다.

Connection Name : 내가 보고 싶은 이름. 나는 localhost로 지정해주었다.

Hostname : localhost, Port: 3306, Username: root는 동일하게 입력해주어야 한다.

 

Test Connection을 클릭해 비밀번호를 입력해보자.

이 때 'Save password in keychain'을 클릭하면 다음에 접속 시 따로 입력하지 않아도 된다. 비밀번호를 잘 입력했다면 success가 뜰 것이다.

 

메인 페이지에 우리가 설정해준 localhost가 떴다. 클릭해서 접속해보자.

Warning 메세지는 MySQL 서버와 Workbench 서버의 버전이 완벽히 호환되지는 않는다는 뜻인데,

지금 단계에서는 크게 신경쓰지 않아도 괜찮다.

 

세팅 끝!

 

이제 원하는 sql 쿼리문을 작성해서 번개 모양을 클릭하거나, cmd+enter 입력으로 쿼리를 실행할 수 있다.

 

DB 생성 및 사용은 이 쿼리를,

CRATE DATABASE DB이름;
SHOW DATABASES;
USE DB이름;

 

특정 DB에서 테이블 생성 및 사용은 이 쿼리를 이용하면 된다.

CREATE TABLE 테이블이름(
컬럼이름 컬럼타입,
컬럼이름 컬럼타입
);
SHOW TABLES;

 

데이터 삽입, 삭제 등을 자유롭게 수행해보자.

댓글