내부망에서 리눅스 MySQL 설치 및 설정 방법
인터넷 연결이 안되어서 yum 명령어를 사용할 수 없는 리눅스 서버에서
RPM 패키지 설치 파일로 MySQL DB 설치하는 방법입니다.
Generic 바이너리 파일 설치와 달리, RPM 파일로 설치하면 서비스 등록이 자동으로 됩니다.
폴더 소유자 변경, 심볼릭 링크 생성, MySQL 환경변수 추가, 설정 파일 생성도 수동으로 안 해도 됩니다.
리눅스 MySQL 설치
MySQL 설치파일 다운
https://downloads.mysql.com/archives/community
Product Version: MySQL 버전 선택 > Operating System: 서버 OS 선택 (Red Hat 기반이면 Red Hat Enterprise Linux / Oracle Linux 선택) > OS Version: 서버 OS 버전 선택 (Linux version 4.18.0-553.5.1.el8_10.x86_64, Red Hat 8.5.0-22인 경우 Red Hat Enterprise Linux 8 / Oracle Linux 8 (x86, 64-bit) 선택) > RPM Bundle Download
파일질라로 파일 업로드
리눅스 서버의 유저 Home에 MySQL 설치파일을 업로드 합니다.
MySQL 설치파일 압축 해제
mkdir mysql-8.0.32-rpms
tar -xvf mysql-8.0.32-1.el8.x86_64.rpm-bundle.tar -C mysql-8.0.32-rpms
-C 옵션은 현재 폴더가 아니라 지정한 폴더에 압축을 풀 때 사용됩니다.
기존 MySQL DB 설치 확인
rpm -qa | grep -Ei 'mysql|mariadb'
충돌을 방지하기 위해, MariaDB 또는 MySQL 관련 패키지가 이미 설치되어 있는지 확인합니다.
RPM 파일로 MySQL 설치
sudo dnf install -y \
mysql-community-common-8.0.32-1.el8.x86_64.rpm \
mysql-community-client-plugins-8.0.32-1.el8.x86_64.rpm \
mysql-community-libs-8.0.32-1.el8.x86_64.rpm \
mysql-community-client-8.0.32-1.el8.x86_64.rpm \
mysql-community-icu-data-files-8.0.32-1.el8.x86_64.rpm \
mysql-community-server-8.0.32-1.el8.x86_64.rpm \
--disablerepo="*" --nogpgcheck
dnf 패키지 관리자를 통해, MySQL 서버 운영에 필요한 기본 패키지들만 설치합니다.
충돌이 나므로 devel (개발용), test (테스트용) 패키지들은 제외하였습니다.
정상 설치 완료 메시지
설치되었습니다:
mysql-community-client-8.0.32-1.el8.x86_64 mysql-community-client-plugins-8.0.32-1.el8.x86_64
mysql-community-common-8.0.32-1.el8.x86_64 mysql-community-icu-data-files-8.0.32-1.el8.x86_64
mysql-community-libs-8.0.32-1.el8.x86_64 mysql-community-server-8.0.32-1.el8.x86_64
MySQL 정상 설치 확인
rpm -qa | grep mysql-community
아래와 같이, 설치된 패키지들을 확인할 수 있습니다.
mysql-community-icu-data-files-8.0.32-1.el8.x86_64
mysql-community-common-8.0.32-1.el8.x86_64
mysql-community-server-8.0.32-1.el8.x86_64
mysql-community-libs-8.0.32-1.el8.x86_64
mysql-community-client-8.0.32-1.el8.x86_64
mysql-community-client-plugins-8.0.32-1.el8.x86_64
MySQL 버전 확인
mysql --version
아래와 같이, 설치된 MySQL 버전을 확인할 수 있습니다.
mysql Ver 8.0.32 for Linux on x86_64 (MySQL Community Server - GPL)
MySQL 서비스 실행
systemctl enable mysqld
systemctl start mysqld
systemctl status mysqld
enable 명령어를 통해 서버 재시작 시 DB가 자동시작 되도록 설정 후 start 합니다.
리눅스 MySQL 접속
root 계정 임시비밀번호 확인
grep 'temporary password' /var/log/mysqld.log
아래와 같이, 우측 끝에 임시 비밀번호가 나옵니다.
A temporary password is generated for root@localhost: 임시비밀번호
MySQL 터미널 접속
mysql -u root -p
Enter password: 메시지가 나오면 임시비밀번호를 입력하여 MySQL 터미널에 접속합니다.
MySQL root 계정 비밀번호 변경
ALTER USER 'root'@'localhost' IDENTIFIED BY '신규비밀번호';
비밀번호 정책 미충족 에러메시지
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
대문자, 소문자, 특수문자, 숫자를 포함하고 최소 길이 조건을 충족해야 합니다.
MySQL 유저 계정 및 비밀번호 인증 방식 확인
SELECT user, host, plugin
FROM mysql.user;
MySQL 버전 확인
SELECT VERSION();
원하는 버전으로 정상 설치되었는지 확인합니다.
MySQL 터미널 나가기
exit
리눅스 MySQL 경로 확인
MySQL 실행 파일 위치 확인
which mysql
which mysqld
RPM으로 MySQL 설치 시, 기본적으로 MySQL 실행 파일 위치는 아래와 같습니다.
/usr/bin/mysql
/usr/sbin/mysqld
기타 MySQL 관련 파일 경로
| MySQL 설정 파일 |
/etc/my.cnf /etc/my.cnf.d/ |
| MySQL 데이터 디렉터리 | /var/lib/mysql |
| MySQL 로그 파일 | /var/log/mysqld.log |
| MySQL 서비스 파일 | /usr/lib/systemd/system/mysqld.service |