MySQL 설치 및 사용법: Yum 저장소와 기본 SQL 시작하기

지원되는 Linux Yum 환경에서 MySQL 8.4 LTS를 새로 설치하는 절차와 EL8 모듈 처리, root 비밀번호 변경, 데이터베이스·테이블 생성 및 기본 SQL 사용법을 공식 매뉴얼 기준으로 설명합니다.

목차

설치 전제조건

공식 문서로 확인한 범위는 Oracle MySQL 8.4 LTS의 Yum 저장소를 이용한 신규 설치, 서버 시작과 접속, 기본 SQL 예시입니다. Oracle Linux, Red Hat Enterprise Linux, CentOS, Fedora처럼 Yum을 지원하는 새 환경을 대상으로 하며, 기존 RPM 설치의 교체나 업그레이드는 다루지 않습니다.

관리자 권한과 플랫폼에 맞는 저장소 RPM 파일이 필요합니다. 공식 파일명 템플릿은 mysql84-community-release-{platform}-{version-number}.noarch.rpm이며, {platform}과 {version-number}는 다운로드 페이지에서 선택한 실제 파일명에 포함된 값입니다. 아래 셸 예시는 특정 파일명을 가정하지 않고, 사용자가 내려받은 RPM의 실제 경로를 입력받아 파일 존재를 확인한 뒤 설치합니다.

MySQL 설치 절차

MySQL 설치를 준비하는 노트북과 서버 랙이 있는 서버 유지보수 작업 공간

MySQL Yum Repository 페이지에서 플랫폼에 맞는 RPM을 내려받아 저장소를 등록합니다.

read -r -p '다운로드한 저장소 RPM의 전체 경로: ' rpm_file
test -f "$rpm_file" || { printf '%s\n' 'RPM 파일을 찾을 수 없습니다.' >&2; exit 1; }
sudo yum localinstall "$rpm_file"
yum repolist enabled | grep 'mysql.*-community'

EL8 계열에서 기본 MySQL 모듈이 활성화되어 있으면 저장소 패키지가 가려질 수 있습니다. 이 경우 다음 명령으로 모듈을 비활성화한 뒤 서버를 설치합니다. DNF 환경에서는 명령의 yum을 dnf로 바꿉니다.

sudo yum module disable mysql
sudo yum install mysql-community-server
systemctl start mysqld
systemctl status mysqld

데이터 디렉터리가 비어 있는 서버를 처음 시작하면 임시 root 비밀번호가 오류 로그에 남습니다. 다음 셸 명령으로 임시 비밀번호를 확인한 뒤 MySQL 클라이언트에 로그인합니다. “`bash
sudo grep ‘temporary password’ /var/log/mysqld.log
mysql -uroot -p

“`

로그인한 MySQL 클라이언트에서는 공식 문서의 ALTER USER 'root'@'localhost' IDENTIFIED BY '<새 비밀번호>'; 형식으로 비밀번호를 바꿉니다. <새 비밀번호>는 설명용 자리표시자이며, 실제 값은 현재 비밀번호 정책을 충족하도록 직접 정해야 합니다.

데이터베이스와 테이블 사용

MySQL에 접속한 뒤 공식 매뉴얼 예시처럼 CREATE DATABASE menagerie;로 데이터베이스를 만들고 USE menagerie;로 선택합니다. 데이터베이스를 생성하는 것만으로는 작업 대상이 되지 않으므로 USE를 따로 실행해야 합니다. 다른 데이터베이스의 컨테이너 저장 방식은 PostgreSQL 데이터 영구 저장에서 설명합니다.

이어지는 SQL은 공식 MySQL 매뉴얼의 연습용 구문을 바탕으로 설명합니다. 테이블 정의 예시는 CREATE TABLE pet (name VARCHAR(20), owner VARCHAR(20), species VARCHAR(20), sex CHAR(1), birth DATE, death DATE);입니다. DATE는 날짜를 저장하며, 공식 입력 예시 INSERT INTO pet VALUES ('Puffball','Diane','hamster','f','1999-03-30',NULL);처럼 값이 없을 때는 NULL을 사용합니다. 저장된 모든 열을 조회하는 예시는 SELECT * FROM pet;입니다.

테이블 구조는 DESCRIBE pet;으로 확인할 수 있습니다. 데이터를 조회할 때 SELECT의 WHERE 절을 사용하면 조건에 맞는 행만 가져옵니다.

환경별 선택 기준

비교 항목 Yum 환경 DNF 환경
저장소 등록 yum localinstall dnf localinstall
저장소 확인 yum repolist enabled dnf repolist enabled
EL8 모듈 처리 yum module disable dnf module disable
서버 설치 yum install dnf install
선택 기준 Yum 명령을 지원하는 플랫폼 DNF 명령을 사용하는 플랫폼

운영체제에서 기본 패키지 관리 도구를 먼저 확인한 뒤 명령을 고릅니다. EL8에서는 모듈 비활성화를 빠뜨리면 MySQL 저장소 패키지가 보이지 않을 수 있으므로 저장소 확인 결과부터 살펴봅니다.

자주 묻는 질문

데이터베이스를 만들었는데 바로 사용할 수 없나요?

MySQL은 사용할 데이터베이스를 자동으로 선택하지 않습니다. 세션마다 USE menagerie;를 실행하거나 접속 명령 뒤에 데이터베이스 이름을 지정합니다.

비밀번호를 명령에 함께 적어도 되나요?

-p 뒤에 공백 없이 비밀번호를 적을 수 있지만, 같은 컴퓨터를 쓰는 다른 사용자가 볼 수 있어 권장되지 않습니다. mysql -uroot -p처럼 실행하고 프롬프트에서 입력하는 편이 안전합니다.

접속 후 데이터베이스가 선택됐는지 어떻게 확인하나요?

공식 매뉴얼은 현재 선택된 데이터베이스를 확인하는 구문으로 SELECT DATABASE();를 안내합니다. 출처: MySQL Yum Repository 설치, 데이터베이스 생성, 테이블 생성, 데이터 입력, 데이터 조회

관련 글