brew 설치
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
MySQL 설치, 설정
# Installation
$ brew install mysql
# version
$ mysql -V
# server start
$ mysql.server start
# server stop
$ mysql.server stop
$ mysql_secure_installation
# brew command
# list
$ brew services list
# mysql start
$ brew services start mysql
# mysql stop
$ brew services stop mysql
# mysql restart
$ brew services restart mysql
mysql_secure_installation 명령어를 입력해 루트 비밀번호를 설정해 준다
$ mysql -u root -p
루트 비밀번호가 설정되었는지 root 사용자 로그인을 해본다
루트 계정 비밀번호 변경
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '변경할-비밀번호';
mysql> FLUSTH PRIVILEGES;
데이터베이스 생성, 사용자 생성
# mysql 쉘 접속
> mysql -u root -p
# database 확인
mysql> show databases;
# database 생성
mysql> create database [database name];
# user 생성
# %는 모든 IP 대해서 해당 계정으로 접속 가능하다는 뜻. 본인 컴퓨터에서 접속하려면 127.0.0.1 또는 localhost 로 설정
mysql> create user 'sejin'@'%' identified by 'userPw';
# user 권한 부여
mysql> grant all privileges on [database name].* to 'sejin'@'%';
# 권한 적용 (변경된 내용을 메모리에 반영)
mysql> flush privileges;
# database 접속
mysql> use [database name];
# shell 환경으로 나와서 생성된 계정으로 접속
mysql> exit
> mysql -u userId -p
계정 접속 IP 제한
mysql> use mysql
mysql> select host,user from user;
mysql> update user set host = 'IP 입력(xxx.xxx.xxx.xxx)' where user = 'userId';
mysql> flush privileges;
외부 접속 설정
맥북에서 homebrew를 통해 mysql을 설치했고 my.cnf를 통해 포트를 열어줄 수 있다
파일 위치는 /usr/local/etc/my.cnf 에 있었음 (경로는 다를 수 있음)
# vi /usr/local/etc/my.cnf
# 파일 내용
[mysqld]
bind-address = 127.0.0.1
mysqlx-bind-address = 127.0.0.1
bind-address 값을 0.0.0.0 (모든 IP 요청 허용) 으로 변경한다 → 이제부터 포트 요청이 가능함 (telnet으로 접속 가능)
내부 IP에서의 접속이 아닌 외부망을 통해 접속하려면 포트포워딩 설정을 해주어야함
MySQL DB Tools
1. VSCode Extensions (MySQL)
2. HeidiSQL (윈도우 전용)
3. DBeaver
4. MySQL Workbench