반응형
Linux에 설치하기
MySQL 설치 (Generic Binary)
- URL : https://downloads.mysql.com/archives/community/
- Product Version : 5.7.26
- Operating System : Linux - Generic
- OS Version : Linux - Generic 64-bit
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
참고
- https://dev.mysql.com/doc/mysql-installation-excerpt/5.7/en/binary-installation.html
- https://zetawiki.com/wiki/MySQL_%EC%9B%90%EA%B2%A9_%EC%A0%91%EC%86%8D_%ED%97%88%EC%9A%A9
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 |