한줄공지
  • 등록된 공지내용이 없습니다.

우분투 20.04에서 Mysql 5.7 설치 가이드 (How to Install MySQL 5.7 on Ubuntu 20)

2022년 10월 24일
조회수 387
코멘트 0

목차

우분투 20에서는 기본 패키지로 MySQL 8.0이 제공됩니다. 이 튜토리얼에서는 우분투 20 혹은 그 이상의 버전에서 MySQL 5.7 패키지를 추가하는 방법에 대해 설명 합니다.

 

사전 요구 사항

우분투를 처음 설치 한 경우 또는 wget등의 패키지가 없는 경우를 대비 하여 다음과 같이 wget패키지를 설치 합니다.

$ sudo apt-get update -y
$ sudo apt-get install -y wget

 

MySQL 5.7 APT 저장소 추가

우분투 20에 MySQL 5.7을 설치하기 위해서는 APT 저장소를 추가해야 합니다. 다음 명령을 사용하여 MySQL 저장소 파일을 다운로드 합니다.

$ wget https://dev.mysql.com/get/mysql-apt-config_0.8.12-1_all.deb

다운로드가 완료되면 저장소를 설치 합니다.

$ sudo dpkg -i mysql-apt-config_0.8.12-1_all.deb

프롬프트에서 Ubuntu Bionic을 선택 합니다. 그 다음 MySQL 서버 및 클러스터 옵션을 선택후 mysql-5.7을 선택한 다음 ok를 선택 합니다. 완료되면 APT 저장소를 업데이트 합니다.

$ sudo apt update

서명 오류가 발생하는 경우 누락된 gpg키를 추가 해 주세요.(서명 오류가 발생하지 않는 경우 이 단계가 필요 없습니다.)

The following signatures couldn't be verified because the public key is not available: NO_PUBKEY
$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 467B942D3A79BD29

다음 명령어를 사용하여 MySQL 5.7 저장소가 성공적으로 설치되었는지 확인 합니다.

$ sudo apt-cache policy mysql-server

목록 맨 아래에 MySQL 5.7저장소가 표시되어야 합니다.

mysql-server:
  Installed: 5.7.40-1ubuntu18.04
  Candidate: 8.0.30-0ubuntu0.20.04.2
  Version table:
     8.0.30-0ubuntu0.20.04.2 500
        500 http://jp.clouds.archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages
        500 http://security.ubuntu.com/ubuntu focal-security/main amd64 Packages
     8.0.19-0ubuntu5 500
        500 http://jp.clouds.archive.ubuntu.com/ubuntu focal/main amd64 Packages
 *** 5.7.40-1ubuntu18.04 500
        500 http://repo.mysql.com/apt/ubuntu bionic/mysql-5.7 amd64 Packages
        100 /var/lib/dpkg/status

 

MySQL 5.7 설치

시스템에 MySQL 5.7 저장소가 있으면 다음을 사용하여 설치 할 수 있습니다.

$ sudo apt install -f mysql-client=5.7* mysql-community-server=5.7* mysql-server=5.7*

Y키를 눌러 설치를 시작하고 메세지가 표시되면 루트 암호를 설정 합니다.

Reading package lists... Done
Building dependency tree
Reading state information... Done
Selected version '5.7.37-1ubuntu18.04' (MySQL:repo.mysql.com [amd64]) for 'mysql-client'
Selected version '5.7.37-1ubuntu18.04' (MySQL:repo.mysql.com [amd64]) for 'mysql-community-server'
Selected version '5.7.37-1ubuntu18.04' (MySQL:repo.mysql.com [amd64]) for 'mysql-server'
The following additional packages will be installed:
  libmecab2 libtinfo5 mysql-common mysql-community-client
The following NEW packages will be installed:
  libmecab2 libtinfo5 mysql-client mysql-common mysql-community-client mysql-community-server mysql-server
0 upgraded, 7 newly installed, 0 to remove and 1 not upgraded.
Need to get 51.6 MB of archives.
After this operation, 315 MB of additional disk space will be used.
Do you want to continue? [Y/n]

 

MySQL Secure Installation

프로덕션 서버에서 MySQL 5.7을 사용하기 전에는 먼저 보안을 유지 할 필요가 있습니다. 다음 명령어로 MySQL 서버의 보안을 유지 하세요.

$ sudo mysql_secure_installation

 

MySQL 버전 확인

정상적으로 MySQL 5.7을 설치 했는지 확인 합니다. 먼저 이전에 설정한 루트 비밀번호로 MySQL에 접속합니다.

$ mysql -u root -p

그런 다음 다음 명령을 실행 합니다.

SELECT VERSION();

설치된 MySQL 버전이 표시되어야 합니다.

+-----------+
| VERSION() |
+-----------+
| 5.7.37    |
+-----------+
1 row in set (0.00 sec)

 

MySQL 외부 접속 설정

MySQL을 외부에서 접속하기 위해서 MySQL 설정파일(/etc/mysql/mysql.conf.d/mysqld.cnf)을 엽니다.

$ sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf

bind-address항목을 찾아 127.0.0.1로 되어 있는 주소를 모든 IP주소에서 접속 할 수 있는 0.0.0.0으로 변경 합니다.

bind-address    = 0.0.0.0

우분투 방화벽에서 3306포트를 열어 줍니다.

$ sudo ufw allow 3306

만약 특정 IP에서의 접속만 허용 할 경우 다음과 같이 방화벽을 열어 줄 수 있습니다. 이 경우 xxx.xxx.xxx.xxx에서만 MySQL 서버에 접근 가능 합니다.

$ sudo ufw allow from xxx.xxx.xxx.xxx to any port 3306

또는, 다음과 같이 특정 IP대역을 열어 줄 수 있습니다. 이경우 xxx.xxx.xxx.1~255까지의 IP에서 접속이 가능 합니다.

$ sudo ufw allow from xxx.xxx.xxx.0/24 to any port 3306

 

참조

 

안정적이고 저렴한 가상 서버(VPS) 안내

안정적인 서버 호스팅을 찾고 계신가요? 지금 Vultr 호스팅을 한번 이용 해 보세요. 지금 보고 계신 HaruLogs 사이트도 Vultr에서 VPS 호스팅 하고 있습니다. 한국, 일본, 미국등 다양한 국가에 클릭 몇번으로 안정적이고 저렴한 VPS를 운영 할 수 있습니다.

아래 배너를 통해 회원 가입을 하시면 100달러의 무료 크레딧을 받을 수 있습니다. 100달러의 무료 크레딧은 Vultr의 최소 사양 VPS를 20대 동시 운영가능한 크레딧입니다.

지금 무료로 Vultr $100 크레딧 선물 받기

 

Vultr 서비스 요약

  • VPS
    • 인스턴스
      • AMD 또는 Intel High Performance 인스턴스 최저 $6 - 1vCPU, 1GB Memory, 2TB Bandwidth, 25GB NVMe
    • 엣지
  • Block Storage
  • Object Storage (AWS S3 호환)
  • Firewall
  • Network
  • Load Balancers
  • Kubernetes
  • Databases
포스트 통계
지금 보고있는 포스트의 통계 데이터를 확인 해 보세요.
  • 총 조회수
    388
  • 최근 30일 조회수
    16
연관 포스트
코멘트 작성