본문 바로가기
OS/Linux

Linux CentOS에서 MySQL 설치하기 단계별 가이드

by Dev_카페인 2024. 6. 27.
반응형

Linux CentOS에서 MySQL 설치하기 단계별 가이드

MySQL은 오픈 소스 관계형 데이터베이스 관리 시스템(RDBMS)으로, 다양한 웹 애플리케이션과 서버 환경에서 널리 사용됩니다. 이 블로그 포스트에서는 CentOS에서 MySQL을 설치하고 설정하는 방법을 단계별로 안내하겠습니다. 이 가이드를 따라 MySQL을 손쉽게 설치하고 설정할 수 있습니다.

 

먼저 윈도우 환경에서 인스톨 패키지 주소를 간단하게 알아보겠습니다.

 

 

MySQL

Over 2000 ISVs, OEMs, and VARs rely on MySQL as their products' embedded database to make their applications, hardware and appliances more competitive, bring them to market faster, and lower their cost of goods sold. Learn More »

www.mysql.com

MySQL 홈페이지에 접속합니다.

 

MySQL :: MySQL Downloads

 

www.mysql.com

간편하게 다운로드 탭으로 이동할 수 있습니다.

우리는 MySQL 소스코드의 변형 없이 사용할 예정이기 때문에 GPL 라이센스를 따릅니다.

다운로드 페이지까지의 과정이 복잡하지만 잘 따라온다면 무리 없이 다운로드 받을 수 있습니다.

CentOS에서는 Yum을 사용하기 때문에 해당 패키지를 다운받을 수 있는 곳에 접속합니다.

yum이란 Yellodog Update Modified의 약자로 레드햇 계열의 리눅스 배포판에서 사용하는 프로그램(패키지) 설치 관리 도구입니다.

OS 버전에 따라 알맞는 것을 선택하여 주소를 기록해 둡니다.

대부분이 PuTTY나 원격 접속을 통해 사용하는 분들이 많을 것이라 생각됩니다.

다운로드 버튼을 통해 이동하면 설치 주소를 간단히 복사할 수 있습니다.

 

 

1. MySQL 리포지터리 추가

MySQL을 설치하기 위해 먼저 MySQL 공식 리포지터리를 추가해야 합니다. CentOS 8과 7에서 사용할 수 있는 리포지터리 패키지를 다운로드하고 설치합니다.

 

* 추가 *

이 링크는 MySQL 8.0에 사용 가능한 최신 릴리스 패키지로 연결됩니다.

  http://repo.mysql.com/mysql80-community-release-el7.rpm

MySQL 8.4의 경우 다음을 사용하십시오.

  http://repo.mysql.com/mysql84-community-release-el7.rpm

위 주소를 사용하여 다운로드 받는 것이 좋습니다.

CentOS 8

CentOS 7

 

mysql80은 http://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm 로 다운로드 받습니다.

Complete!

리포지터리가 성공적으로 추가되면, Repository가 정상적으로 설치되었는지 아래 명령으로 확인할 수 있습니다.

sudo yum repolist enabled | grep "mysql.*-community.*"

 

 

2. MySQL 설치

리포지터리를 추가한 후, MySQL 서버를 설치합니다.

CentOS 8

sudo dnf install mysql-server

CentOS 7

sudo yum install mysql-server

 

sudo yum install -y mysql-community-server (이 것 사용)

 

y  명령을 통해 중간 yes 건너뛰기 ~

yum install [-y] mysql-server 

 

GPG Key가 만료되었다... ?

GPG 키 에러 당시 내가 받으려던 버전은 el7-3이었다. 막상 80 최신 릴리즈 버전을 다운로드 받아보니 11? 정도였다.

sudo yum install -y http://repo.mysql.com/mysql80-community-release-el7.rpm
"MySQL 8.0 커뮤니티 서버" 저장소에 나열된 GPG 키가 이미 설치되어 있지만 이 패키지에는 올바르지 않습니다.
이 저장소에 대해 올바른 키 URL이 구성되어 있는지 확인하십시오.


 실패한 패키지는 mysql-community-server-8.0.37-1.el7.x86_64입니다.
 GPG 키는 다음과 같이 구성됩니다: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

 

 

3. MySQL 서비스 시작 및 부팅 시 자동 시작 설정

MySQL 설치가 완료되면, MySQL 서비스를 시작하고 부팅 시 자동으로 시작되도록 설정합니다.

서비스 시작

sudo systemctl start mysqld

부팅 시 자동 시작 설정

sudo systemctl enable mysqld

4. MySQL 초기 보안 설정

MySQL을 설치한 후, 초기 보안 설정을 수행해야 합니다. MySQL은 설치 시 임시 루트 비밀번호를 생성합니다. 이를 확인하고 보안 설정을 진행합니다.

Mysql 8.x 버전의 경우 최초 실행 시 root 계정의 임시 비밀번호가 생성된다고 합니다. 비밀번호가 생성되는 경로는 /var/log/이다.

임시 비밀번호 확인

MySQL의 임시 루트 비밀번호는 MySQL 로그 파일에서 확인할 수 있습니다.

sudo grep 'temporary password' /var/log/mysqld.log

로그 파일에서 temporary password 옆에 있는 문자열이 임시 비밀번호입니다.

 

ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';

CentOS MySQL 비밀번호 변경

정책사항 위반,,, 대문자 소문자 숫자 특수기호 까지 넣어서 비밀번호 만들었다.

 

 

현재 비밀번호 정책 알아보는 방법

mysql> show variables like 'validate_password%';

flush privileges; --설정 저장함

 

보안 설정

MySQL의 보안 설정 도구인 mysql_secure_installation을 실행합니다.

sudo mysql_secure_installation

보안 설정 과정에서 다음과 같은 질문에 답하게 됩니다:

  • 임시 루트 비밀번호를 입력합니다.
  • 새로운 루트 비밀번호를 설정합니다.
  • 익명 사용자 제거
  • 원격 루트 로그인 비활성화
  • 테스트 데이터베이스 제거
  • 권한 테이블을 다시 로드

각 질문에 맞게 적절히 응답하여 보안 설정을 완료합니다.

5. MySQL 접속 및 기본 설정

보안 설정을 완료한 후, MySQL에 접속하여 기본 설정을 진행합니다.

MySQL 접속

mysql -u root -p

루트 비밀번호를 입력하여 MySQL 셸에 접속합니다.

기본 데이터베이스 및 사용자 생성

데이터베이스와 사용자를 생성하여 애플리케이션에서 사용할 수 있도록 설정합니다.

CREATE DATABASE mydatabase;
CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypassword';
GRANT ALL PRIVILEGES ON mydatabase.* TO 'myuser'@'localhost';
FLUSH PRIVILEGES;
  • mydatabase: 생성할 데이터베이스 이름
  • myuser: 생성할 사용자 이름
  • mypassword: 사용자의 비밀번호

이렇게 하면 새로운 데이터베이스와 사용자가 생성되고, 해당 사용자에게 데이터베이스에 대한 모든 권한이 부여됩니다.

6. MySQL 상태 확인

MySQL 서비스가 정상적으로 실행되고 있는지 확인합니다.

서비스 상태 확인

sudo systemctl status mysqld

MySQL 버전 확인

mysql --version

결론

이로써 CentOS에 MySQL을 설치하고 기본 설정을 완료하였습니다. MySQL은 강력한 데이터베이스 관리 시스템으로, 다양한 애플리케이션에서 활용될 수 있습니다. 이번 가이드가 CentOS에서 MySQL을 설치하고 설정하는 데 도움이 되었기를 바랍니다. 추가적으로 MySQL의 고급 설정이나 튜닝이 필요하다면 공식 문서와 커뮤니티 자료를 참고하세요. MySQL을 통해 안정적이고 효율적인 데이터베이스 환경을 구축해보세요!

반응형