[Ubuntu] 우분투 22.04.1 MySQL 5.7 설치하기 완벽 가이드

[Ubuntu] 우분투 22.04.1 MySQL 5.7 설치하기 완벽 가이드
[Ubuntu] 우분투 22.04.1 MySQL 5.7 설치하기 완벽 가이드

들어가며

우분투 22.04 LTS(코드명 Jammy Jellyfish)를 처음 설치한 분들이 가장 많이 하는 질문 중 하나가 “MySQL을 어떻게 설치할 수 있을까?” 입니다. 특히 요즘은 MySQL 8.0이 기본적으로 제공되다 보니, 특정 레거시 환경이나 호환성을 위해 MySQL 5.7 버전을 설치해야 하는 경우가 많습니다.

이번 글에서는 우분투 22.04.1에서 MySQL 5.7 설치 방법을 단계별로 정리해 드리겠습니다. 단순히 설치하는 방법뿐만 아니라, 발생할 수 있는 오류와 해결책, 그리고 실제 운영 환경에서 유용하게 활용할 수 있는 팁까지 포함했으니 끝까지 읽어보시면 좋겠습니다.


목차

  1. 왜 MySQL 5.7을 써야 할까?
  2. 우분투 22.04.1 기본 저장소 문제
  3. MySQL APT 저장소 설정하기
  4. MySQL 5.7 설치 단계별 과정
  5. MySQL 서비스 관리 및 보안 설정
  6. 설치 확인 및 접속 테스트
  7. 자주 발생하는 오류와 해결 방법
  8. 실무에서 활용할 수 있는 설정 팁
  9. MySQL 5.7 vs MySQL 8.0 차이
  10. 마치며
  11. 실제 설치 스샷

1. 왜 MySQL 5.7을 써야 할까?

MySQL 5.7은 이미 EOL(End of Life)이 되었지만, 여전히 많은 프로젝트에서 사용됩니다. 특히 다음과 같은 이유 때문에 5.7을 선택해야 하는 경우가 있습니다:

  • 레거시 애플리케이션 지원: 기존 애플리케이션이 5.7에 맞춰져 있어 8.0에서는 오류 발생 가능
  • 호환성 문제: 특정 ORM, JDBC 드라이버, 또는 MyBatis 설정 등이 5.7 환경을 기준으로 작성됨
  • 운영 환경과 동일한 버전 유지: 테스트 서버에서도 동일한 MySQL 버전을 유지해야 안정적

예를 들어, 어떤 프로젝트에서 MySQL 5.7의 GROUP BY 동작 방식에 맞춰 쿼리를 작성했다면, MySQL 8.0에서는 실행되지 않거나 결과가 달라질 수 있습니다.


2. 우분투 22.04.1 기본 저장소 문제

우분투 22.04에서 apt install mysql-server 명령어를 실행하면 기본적으로 MySQL 8.0이 설치됩니다. 따라서 5.7을 설치하기 위해서는 MySQL 공식 APT 저장소를 추가해야 합니다.

즉, 아래와 같은 상황이 발생합니다:

sudo apt update
sudo apt install mysql-server

👉 설치되는 버전: 8.0.x

따라서 저장소 변경이 필수입니다.


3. MySQL APT 저장소 설정하기

3.1 MySQL APT 저장소 다운로드

MySQL 공식 사이트에서 APT 설정 패키지를 다운로드해야 합니다.

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

여기서 mysql-apt-config는 설치 중에 어떤 버전을 설치할지 선택할 수 있는 패키지입니다.


3.2 저장소 설정 패키지 설치

다운로드한 파일을 dpkg로 설치합니다:

sudo dpkg -i mysql-apt-config_0.8.26-1_all.deb

설치 과정 중에 메뉴가 뜨면서 MySQL Server & Cluster → 5.7을 선택할 수 있습니다.


3.3 저장소 업데이트

설정이 끝나면 apt 저장소를 갱신합니다:

sudo apt update

4. MySQL 5.7 설치 단계별 과정

4.1 MySQL 서버 설치

sudo apt install mysql-server=5.7.*
sudo apt install mysql-client=5.7.*

버전을 지정하지 않고 설치하면 자동으로 최신(8.0)이 설치되니 반드시 버전을 명시해야 합니다.


4.2 설치 중 비밀번호 설정

설치 도중 root 계정의 비밀번호를 입력하라는 창이 뜹니다. 운영 환경에서는 반드시 강력한 비밀번호를 설정하세요.


4.3 설치 후 확인

설치가 완료되면 MySQL 버전을 확인합니다:

mysql --version

출력 예시:

mysql  Ver 14.14 Distrib 5.7.43, for Linux (x86_64)

5. MySQL 서비스 관리 및 보안 설정

5.1 서비스 시작 및 확인

sudo systemctl start mysql
sudo systemctl status mysql

정상적으로 실행되면 active (running) 상태가 표시됩니다.


5.2 부팅 시 자동 실행 설정

sudo systemctl enable mysql

5.3 보안 설정

MySQL에는 설치 직후 기본 보안 스크립트가 제공됩니다.

sudo mysql_secure_installation

여기서 수행할 작업:

  • root 비밀번호 강화
  • 익명 사용자 제거
  • 원격 root 접속 차단
  • test 데이터베이스 삭제

6. 설치 확인 및 접속 테스트

mysql -u root -p

정상적으로 접속되면 다음과 같은 화면이 나옵니다:

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 10
Server version: 5.7.43 MySQL Community Server (GPL)

7. 자주 발생하는 오류와 해결 방법

7.1 GPG 키 오류

The following signatures couldn't be verified because the public key is not available

👉 해결:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys B7B3B788A8D3785C

7.2 패키지 충돌

MySQL 8.0이 이미 설치된 경우 5.7과 충돌할 수 있습니다. 👉 해결:

sudo apt purge mysql-server mysql-client mysql-common
sudo apt autoremove

그리고 다시 설치 진행


7.3 “Can’t connect to local MySQL server” 오류

👉 해결: 서비스가 실행 중인지 확인

sudo systemctl restart mysql

8. 실무에서 활용할 수 있는 설정 팁

  1. MySQL 데이터 디렉토리 변경 운영 환경에서는 /var/lib/mysql 대신 별도의 디스크 파티션을 활용하는 경우가 많습니다.

  2. InnoDB Buffer Pool 크기 조정 /etc/mysql/mysql.conf.d/mysqld.cnf 에서

innodb_buffer_pool_size = 1G

와 같이 설정하면 메모리 활용을 최적화할 수 있습니다.

  1. 원격 접속 허용 개발 환경에서 외부에서 접속하려면 bind-address 설정을 0.0.0.0으로 변경합니다.

9. MySQL 5.7 vs MySQL 8.0 차이

기능MySQL 5.7MySQL 8.0
기본 인증 방식mysql_native_passwordcaching_sha2_password
JSON 지원기본 지원기능 확장 및 성능 개선
윈도우 함수지원 안 함지원
CTE(Common Table Expressions)지원 안 함지원
Group By 동작 방식느슨함엄격함

👉 따라서 기존 레거시 프로젝트는 5.7을 유지하는 경우가 많고, 신규 프로젝트는 8.0을 사용하는 것이 바람직합니다.


10. 마치며

오늘은 우분투 22.04.1 환경에서 MySQL 5.7을 설치하는 방법을 살펴보았습니다. 정리하면 다음과 같은 순서입니다:

  1. mysql-apt-config 패키지 다운로드
  2. 설치 중 5.7 선택
  3. apt update 후 MySQL 5.7 설치
  4. 서비스 실행 및 보안 설정
  5. 접속 테스트

실제로 이 과정을 따라 하면 10분 내외로 5.7 환경을 구축할 수 있습니다. 개발 환경에서는 주로 레거시 프로젝트 때문에 필요하지만, 아직도 많은 현업에서 5.7이 사용되고 있으므로 알아두면 분명 도움이 될 것입니다.


👉 혹시 설치 중 오류가 생겼다면, 댓글로 남겨주세요. 제가 경험한 대부분의 문제는 저장소 키 오류나 버전 충돌이었습니다. 여러분도 문제 없이 설치하시길 바랍니다! 🚀


11. 실제 설치 스샷

[Ubuntu] 우분투 22.04.1 MySQL 5.7 설치하기 완벽 가이드
[Ubuntu] 우분투 22.04.1 MySQL 5.7 설치하기 완벽 가이드
[Ubuntu] 우분투 22.04.1 MySQL 5.7 설치하기 완벽 가이드
[Ubuntu] 우분투 22.04.1 MySQL 5.7 설치하기 완벽 가이드
[Ubuntu] 우분투 22.04.1 MySQL 5.7 설치하기 완벽 가이드
[Ubuntu] 우분투 22.04.1 MySQL 5.7 설치하기 완벽 가이드

Read more

[MySQL] MySQL 권한 명령어 for 리눅스

[MySQL] 사용자 권한 명령어 for 리눅스

MySQL은 데이터베이스를 관리하고 사용할 때 중요한 부분 중 하나는 사용자 권한 관리입니다. 사용자에게 적절한 권한을 부여하여 보안을 강화하고, 데이터베이스를 안전하게 유지할 수 있습니다. 리눅스 환경에서 MySQL을 사용하는 경우, 명령줄을 통해 사용자 권한을 관리할 수 있습니다. 이 글에서는 MySQL에서 사용하는 주요 MySQL 권한 명령어에 대해 알아보겠습니다.

[MySQL] MySQL 접속명령어 for 리눅스

[MySQL] MySQL 접속명령어 for 리눅스

MySQL은 많은 웹 애플리케이션 및 데이터베이스 관리 시스템에서 널리 사용되는 오픈 소스 관계형 데이터베이스 관리 시스템(RDBMS)입니다. MySQL 접속명령어 for 리눅스 리눅스 환경에서 MySQL에 접속하기 위해서는 명령줄을 사용하여 접속하는 것이 흔히 사용되는 방법 중 하나입니다. 이번 글에서는 리눅스 환경에서 MySQL에 접속하기 위한 다양한 명령어와 실제 사용되는 예시를 살펴보겠습니다.

[Linux] tar 압축 명령어

[Linux] tar 압축 명령어

리눅스에서 파일을 압축하고 해제하는 것은 자주 사용되는 작업 중 하나입니다. 그 중에서도 tar 압축 명령어는 특히 파일과 디렉토리를 압축하고 해제하는 데 유용하게 사용됩니다. 이번 포스트에서는 tar 명령어의 사용법과 실제 예시를 살펴보겠습니다.

[애드센스] 애드센스 본인 확인 (6자리 인증 PIN) 주소 확인: 주소가 확인되지 않아 지급이 보류 중입니다

[애드센스] 본인 확인 (6자리 인증 PIN) 주소 확인: 주소가 확인되지 않아 지급이 보류 중입니다

애드센스 본인 확인 이라며 ‘주소가 확인되지 않아 지급이 보류 중입니다’ 라는 경고 문구가 발생합니다. 해당 발생은 $10 정도의 수익이 발생하였을 때 진행되며, 아래와 같이 진행한다면 주소 확인 [완료된] 처리를 진행할 수 있습니다.

[Java] 자바 8 기능 소개

[Java] 자바 8 기능 소개

자바 8은 자바 프로그래밍 언어의 중요한 업데이트로, 다양한 기능들을 도입하여 개발자들에게 더 강력하고 효율적인 프로그래밍 경험을 제공합니다. 이번 블로그에서는 자바 8에서 도입된 주요 기능들을 자세히 살펴보겠습니다.

[워드프레스] Cloudways Lets Encrypt Renewal Alert SSL(https) 메인도메인 자동갱신 오류: 서브도메인동시, 와일드카드 SSL, Wildcard SSL

[워드프레스] Cloudways Lets Encrypt Renewal Alert SSL(https) 메인도메인 자동갱신 오류: 서브도메인동시, 와일드카드 SSL, Wildcard SSL

Cloudways(클라우드웨이즈) 에 워드프레스를 설치하고 운영중에 서브도메인(a.domain.com, b.domain.com…)을 여러개 운영하고 있을 때 메인도메인 SSL 인증서 설치가 자동으로 갱신이 안되는 오류가 있습니다. 처음에 설치 할 때 Wildcard SSL로 설치하면 문제없이 갱신이 됩니다. 저같은 경우 처음에 각각 서브도메인에도 SSL을 별도로 설치했는데 첫 갱신기간에 문제가 발생하여 메인도메인 기존 SSL 을 삭제하고 와이드카드(Wildcard SSL)로 재설치를 하였습니다. Lets Encrypt Renewal Alert