Blog

MySQL 환경구축

1. MySQL 설치 MacOS, Homebrew를 활용

내 로컬에 MySQL을 설치하는 것 부터 진행
우선 기존 MySQL의 계정 비밀번호를 까먹어서 통째로 재설치가 필요했다. 아래 과정의 1~4까지는 기존 mysql의 삭제와 관련되있으며, 5번부터가 설치와 관련되어 있다.
본 내용은 MacOS기준이므로 윈도우환경의 MySQL 설치의 경우엔 다음 링크를 참조하여 설치하면 된다.
1.
기존 MySQL이 실행 중 일수 있으니 서버를 꺼준다.
brew services stop mysql
Shell
복사
2.
launchctl을 등록 삭제
sudo launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
Shell
복사
3.
Homebrew로 삭제
brew uninstall --force mysql
Shell
복사
4.
세팅 로그 등을 삭제하기 위해서 아래 명령어를 한번씩 입력해준다.
sudo rm -rf /usr/local/mysql sudo rm -rf /usr/local/bin/mysql sudo rm -rf /usr/local/var/mysql sudo rm -rf /usr/local/Cellar/mysql sudo rm -rf /usr/local/mysql* sudo rm -rf /tmp/mysql.sock.lock sudo rm -rf /tmp/mysqlx.sock.lock sudo rm -rf /tmp/mysql.sock sudo rm -rf /tmp/mysqlx.sock sudo rm ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist sudo rm -rf /Library/StartupItems/MySQLCOM sudo rm -rf /Library/PreferencePanes/My*
Shell
복사
(초기 설치인 경우에 여기부터 시작해도된다.)
5.
(재)설치
brew install mysql
Shell
복사
6.
MySQL 서버 실행(Homebrew 내)
brew services start mysql
Shell
복사
7.
재설치로 초기화 되었으니 root계정을 비번없이 접근 할 수 있다.
mysql -uroot
Shell
복사
8.
MySQL 콘솔로 들어가지는 것을 확인했으면 exit; 엔터로 일단 빠져나온다. 초기 설정을 간단히 해줘야 한다.
mysql_secure_installation
Shell
복사
root 계정의 비밀번호 등을 묻는다. 비밀번호는 까먹지말고 왠만하면 기본값 세팅을 해준다.
9.
환경 변수 설정
MySQL을 터미널에서 모든 경로에서 인식 할 수 있게 설정해줘야 한다. 난 zsh를 사용하기 때문에 소스파일에 .zshrc를 바이 에디터로 접근한다.
vim ~/.zshrc
Shell
복사
Path와 Home을 Homebrew로 MySQL이 설치된 경로를 찾아 입력해주면 된다. VI에디터 말고도 그냥 숨겨진 파일을 찾아서 아무 에디터로 열고 저장해도 된다.
10. 우선 서버가 실행중인지부터 재확인하자.
brew services
Shell
복사
status 가 none이면 서버가 꺼진 상태다, 재실행해주자.
brew services start mysql
Shell
복사
11. 사용자 계정 하나를 만들어준다.
root 계정 보다는 일단 Mac 사용자 커맨드를 바로 입력해도 접근 할 수 있도록 해주는게 편하다. 아래처럼 환경변수는 인식하지만, 내 계정을 읽어내지못한다. 계정이 root말곤 없으니까.
내 Mac사용자 계정 커맨드로 만들어주면 쉽게 들어갈 수 있다. 일단 root으로 먼저 들어간다.
mysql -u root -p
Shell
복사
커맨드 라인이 mysql> 로 변한 것을 확인 할 수 있다. 서버내 db로 들어온 것이다. 실질적으로 table을 만들 수도 있고, 각종 sql명령문을 직접 써도 된다. 쿼리문을 gui에디터에 쓰고 실행하는 것과 동일한 행동일 뿐이다.
일단 내 이름의 계정을 만들고 모든 권한을 주려고 한다.
우선 마치 작업 폴더와 같은 DATABASE를 만들어줘야 한다.
CREATE DATABASE <DB_NAME> default CHARACTER SET UTF8; SHOW DATABASES;
SQL
복사
닉네임의 DB가 생성 된 것을 볼 수 있다.
이제 DB를 선택하여 들어가보자.
use ohnyong; // database 선택
SQL
복사
create user 사용자ID
SQL
복사
다음 처럼 내 이름의 계정이 생성되었다.
12.
사용자 계정에 모든 권한을 부여한다.
grant all privileges on *.* to '사용자'@'localhost' identified by '비밀번호';
SQL
복사
권한을 반영해줘야 된다.
FLUSH PRIVILEGES;
SQL
복사
이제 아까 접속 안되던 내 계정으로 db에 접근 할 수 있게 되었다.

2. 간단하게 테이블 생성 까지 확인하자

테스트 DB에서 기본 쿼리들을 테스트하고자 한다.
우선 db목록 확인, 아까 만들었던 닉네임 DB로 접근하자. 내 연습 DB가 될 곳이다.
show databases;
SQL
복사
테스트 테이블을 하나 만들어보자.
create table testtable( id int(11) not null auto_increment, name varchar(20) not null, job varchar(20) null, address varchar(100) null, height smallint, profile text null, date datetime, constraint testtable_pk primary key(id) );
SQL
복사
순서대로 create 명령어를 통해 테이블 명칭을 지정할 수 있고 아래 내용은
컬럼명, 데이터 타입(크기), null 가능 여부, 기타이다.
show tables; #리스트보기 show desc testtable; #테이블 형태 보기
SQL
복사

3. GUI로 데이터베이스 접속해보기

이번에 디비버(DBeaver)를 사용해보자. 편의성 높음
새 접속환경을 localhost로 연결해준다. 아까 생성한 계정으로 변경해준다.
아래 처럼 CLI로 생성한 테이블이 이미 자리잡고 있다.