반응형

Linux에 설치하기

MySQL 설치 (Generic Binary)

APP='mysql-5.7.30' \
&& mkdir -p ~/app \
&& cd ~/app \
&& wget https://downloads.mysql.com/archives/get/p/23/file/$APP-linux-glibc2.12-x86_64.tar.gz \
&& tar xvf $APP-*.tar.gz \
&& rm $APP-*.tar.gz \
&& ln -s -Tfs $APP-* mysql

환경변수 설정

vi ~/.profile
# MYSQL 환경변수
export MYSQL_HOME=/home/ubuntu/app/mysql
export PATH=$PATH:$MYSQL_HOME/bin

# sudo 명령어 실행 가능 설정
alias sudo='sudo env PATH=$PATH'
# 환경변수 적용
source ~/.profile

my.cnf 추가

vi ~/app/mysql/my.cnf
[mysqld]
basedir=/home/ubuntu/app/mysql
datadir=/home/ubuntu/app/mysql/data
socket=/home/ubuntu/app/mysql/tmp/mysql.sock

[client]
socket=/home/ubuntu/app/mysql/tmp/mysql.sock

MySQL 초기화

# 초기화 전 필요 패키지 설치
sudo apt-get install libncurses5 -y
mkdir -p \
~/app/mysql/data \
~/app/mysql/tmp \
&& mysqld --initialize
# 초기화 명령어 실행 후 뜨는 로그 중 임시 비밀번호 항목 확인
[Note] A temporary password is generated for root@localhost: %C&x7D-YUujK

MySQL 실행

mysqld_safe &

MySQL 로그인

# root 계정으로 로그인 (ID : root, PW : %C&x7D-YUujK)
# PW는 'MySQL 초기화' 과정에서 로그로 출력된 임시 비밀번호
mysql --user="root" --password="%C&x7D-YUujK"
# root 계정 비밀번호 변경 (PW : 123456)
mysql> SET PASSWORD = PASSWORD('123456');

MySQL 원격 접속 허용 계정 생성

# 예시 (ID : ubuntu, PW : 123456))
mysql> GRANT ALL PRIVILEGES ON *.* TO 'ubuntu'@'%' IDENTIFIED BY '123456';
# 계정 생성 확인
mysql> select host, user from mysql.user;

MySQL 원격 접속 테스트

# 예시 (host : mysql01.example.com, ID : ubuntu, PW : 123456)
mysql --host="mysql01.example.com" --user="ubuntu" --password="123456"

MySQL 종료

killall mysqld

참고

Docker로 설치하기

디렉토리 생성

mkdir -p ~/docker/mysql/mysql

docker-compose.yml

  • 경로 : ~/docker/mysql/docker-compose.yml
version: "3.3"
volumes:
  mysql_data: {}
services:
  mysql:
    # container_name: mysql
    image: mysql:5.7.29
    ports:
      - "3306:3306"
    environment:
      TZ: Asia/Seoul
      MYSQL_ROOT_PASSWORD: 123456
      MYSQL_DATABASE: test
      MYSQL_USER: ubuntu
      MYSQL_PASSWORD: 123456
    volumes:
      - mysql_data:/var/lib/mysql/
    command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci

접속 및 확인

  • URL : jdbc:mysql://docker.example.com:3306/test?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&allowPublicKeyRetrieval=true
  • 아래 두 계정 중 하나 선택해서 사용
    • ID : root, PW : 123456
    • ID : ubuntu, PW : 123456
반응형

'Development > MySQL' 카테고리의 다른 글

[MySQL] Storage Engine  (0) 2020.12.29
[MySQL] Transaction Isolation Level  (0) 2020.12.29
[MySQL] 쿼리  (0) 2020.12.29
[Database] 옵티마이저  (0) 2018.07.15
[Database] 정규화  (0) 2018.07.15

+ Recent posts