안녕하세요, 대담이입니다.
다시 블로그를 시작하려고 오랜만에 글을 써내려가기 시작합니다 :)
먼저, 다시 시작하는 마음으로 Linux에 MySQL을 설치하는 방법을 다시 소개해드리려고 합니다.
최신 버전이 아닌 다른 버전으로 설치하고 싶을 때가 생길 수 있는데요, 이럴 때 사용하실 수 있는 방법을 소개드리고자 글을 써내려가게 되었습니다!
MySQL을 처음 설치하시거나, Linux에 구성을 하고 싶으신 분들께 추천드립니다. (최근엔 AWS의 RDS 등 아주 쉽게 데이터베이스 서비스를 운영할 방법이 많지만, 내가 소유한 머신에 설치하고 싶을 때도 있으니까요 😃 )
참고 URL: https://dev.mysql.com/doc/refman/8.0/en/linux-installation-rpm.html
첫번째로, 설치하고 싶으신 버전을 선택합니다. 저는 8.0.20 버전을 설치해보도록 하겠습니다.
- 설치 환경 : Amazon Linux 2
1. yum 레포지터리 다운로드 : 제가 사용하려는 Amazon Linux 2은 REHL 7 과 호환성이 있으므로, REHL용 MySQL 8.0.20을 찾아 헤메야합니다!
https://aws.amazon.com/ko/premiumsupport/knowledge-center/ec2-enable-epel/
CentOS, RHEL 또는 Amazon Linux를 실행하는 EC2 인스턴스에 대한 EPEL 리포지토리 활성화
CentOS, Red Hat Enterprise Linux(RHEL) 또는 Amazon Linux를 실행하는 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스가 있습니다. 표준 리포지토리에서 사용할 수 없는 패키지 설치를 허용하기 위해 EPEL(Extra Packages
aws.amazon.com
먼저, MySQL Community Download 페이지에 진입합니다.
https://dev.mysql.com/downloads/mysql/
MySQL :: Download MySQL Community Server
Select Operating System: Select Operating System… Microsoft Windows Debian Linux Ubuntu Linux SUSE Linux Enterprise Server Red Hat Enterprise Linux / Oracle Linux Fedora Linux - Generic Oracle Solaris macOS Source Code Select OS Version: All Windows (x86
dev.mysql.com
여기서, 저희가 찾는 버전은 2021-10월 기준 최신 버전인 8.0.26이 아닌 8.0.20이므로, 상단 메뉴 중 Archives를 클릭합니다. 그럼 아래 페이지로 진입하게 됩니다 :)
https://downloads.mysql.com/archives/community/
MySQL :: Download MySQL Community Server (Archived Versions)
Please note that these are old versions. New releases will have recent bug fixes and features! To download the latest release of MySQL Community Server, please visit MySQL Downloads. MySQL open source software is provided under the GPL License.
downloads.mysql.com
여기서 Product Version : 8.0.20
Operating System : Red Hat Enterprise Linux / Oracle Linux를 선택하시면, OS Version이 새로 표시됩니다.
OS Version : Red Hat Enterprise Linux 7 / Oracle Linux 7 (x86, 64-bit) 를 선택합니다. 제일 마지막 부분은 혹시나 ARM 프로세서를 사용하신다면 변경이 필요합니다.
제일 위, RPM Bundle의 주소를 복사합니다! 앞선 과정이 귀찮으신 분들은 제가 공유해드린 링크를 복사하셔도 괜찮습니다 😁
https://downloads.mysql.com/archives/get/p/23/file/mysql-8.0.20-1.el7.x86_64.rpm-bundle.tar
위 링크를 이용하시어 wget 을 이용하여 다운로드 및 tar를 이용하여 묶음 해제까지 수행합니다.
# wget https://downloads.mysql.com/archives/get/p/23/file/mysql-8.0.20-1.el7.x86_64.rpm-bundle.tar
# tar xvf mysql-8.0.20-1.el7.x86_64.rpm-bundle.tar
그럼 아래와 같은 파일을 확인하실 수 있습니다.
[root@ip-172-31-7-88 ~]# ll
total 1630032
-rw-r--r-- 1 root root 834560000 Apr 28 2020 mysql-8.0.20-1.el7.x86_64.rpm-bundle.tar
-rw-r--r-- 1 7155 31415 48822048 Mar 27 2020 mysql-community-client-8.0.20-1.el7.x86_64.rpm
-rw-r--r-- 1 7155 31415 623508 Mar 27 2020 mysql-community-common-8.0.20-1.el7.x86_64.rpm
-rw-r--r-- 1 7155 31415 8129988 Mar 27 2020 mysql-community-devel-8.0.20-1.el7.x86_64.rpm
-rw-r--r-- 1 7155 31415 23599996 Mar 27 2020 mysql-community-embedded-compat-8.0.20-1.el7.x86_64.rpm
-rw-r--r-- 1 7155 31415 4667884 Mar 27 2020 mysql-community-libs-8.0.20-1.el7.x86_64.rpm
-rw-r--r-- 1 7155 31415 1277128 Mar 27 2020 mysql-community-libs-compat-8.0.20-1.el7.x86_64.rpm
-rw-r--r-- 1 7155 31415 512057468 Mar 27 2020 mysql-community-server-8.0.20-1.el7.x86_64.rpm
-rw-r--r-- 1 7155 31415 235369940 Mar 27 2020 mysql-community-test-8.0.20-1.el7.x86_64.rpm
이 파일들을 설치해야하는데 모두 일일이 설치하려면, 호환성 검사로 인해 순서도 지켜야하고, 여간 귀찮은게 아닙니다(다 제가 겪어보았습니다.. 저도 알고싶지 않았어요 😭 )
이를 해결하기 위해! 저희는 와일드카드 *을 활용하여 전부 설치를 진행합니다!
sudo yum install mysql-community-*.rpm
... 설치 관련 문구 출력중..
==================================================================================================================================================================================================================================================
Package Arch Version Repository Size
==================================================================================================================================================================================================================================================
Installing:
mysql-community-client x86_64 8.0.20-1.el7 /mysql-community-client-8.0.20-1.el7.x86_64 225 M
mysql-community-common x86_64 8.0.20-1.el7 /mysql-community-common-8.0.20-1.el7.x86_64 8.6 M
mysql-community-devel x86_64 8.0.20-1.el7 /mysql-community-devel-8.0.20-1.el7.x86_64 56 M
mysql-community-embedded-compat x86_64 8.0.20-1.el7 /mysql-community-embedded-compat-8.0.20-1.el7.x86_64 90 M
mysql-community-libs x86_64 8.0.20-1.el7 /mysql-community-libs-8.0.20-1.el7.x86_64 22 M
replacing mariadb-libs.x86_64 1:5.5.68-1.amzn2
mysql-community-libs-compat x86_64 8.0.20-1.el7 /mysql-community-libs-compat-8.0.20-1.el7.x86_64 6.1 M
replacing mariadb-libs.x86_64 1:5.5.68-1.amzn2
mysql-community-server x86_64 8.0.20-1.el7 /mysql-community-server-8.0.20-1.el7.x86_64 2.2 G
mysql-community-test x86_64 8.0.20-1.el7 /mysql-community-test-8.0.20-1.el7.x86_64 635 M
Installing for dependencies:
keyutils-libs-devel x86_64 1.5.8-3.amzn2.0.2 amzn2-core 37 k
krb5-devel x86_64 1.15.1-37.amzn2.2.2 amzn2-core 272 k
libcom_err-devel x86_64 1.42.9-19.amzn2 amzn2-core 32 k
libkadm5 x86_64 1.15.1-37.amzn2.2.2 amzn2-core 179 k
libselinux-devel x86_64 2.5-12.amzn2.0.2 amzn2-core 187 k
libsepol-devel x86_64 2.5-8.1.amzn2.0.2 amzn2-core 77 k
libverto-devel x86_64 0.2.5-4.amzn2.0.2 amzn2-core 12 k
ncurses-compat-libs x86_64 6.0-8.20170212.amzn2.1.3 amzn2-core 308 k
openssl-devel x86_64 1:1.0.2k-19.amzn2.0.8 amzn2-core 1.5 M
pcre-devel x86_64 8.32-17.amzn2.0.2 amzn2-core 480 k
perl-Data-Dumper x86_64 2.145-3.amzn2.0.2 amzn2-core 48 k
perl-JSON noarch 2.59-2.amzn2 amzn2-core 96 k
zlib-devel x86_64 1.2.7-18.amzn2 amzn2-core 50 k
Updating for dependencies:
openssl x86_64 1:1.0.2k-19.amzn2.0.8 amzn2-core 495 k
openssl-libs x86_64 1:1.0.2k-19.amzn2.0.8 amzn2-core 1.2 M
Transaction Summary
==================================================================================================================================================================================================================================================
Install 8 Packages (+13 Dependent packages)
Upgrade ( 2 Dependent packages)
Total size: 3.3 G
Total download size: 4.9 M
Is this ok [y/d/N]: y # 해당 문구가 나오면 y를 입력하여 전부 설치를 진행합니다.
... 설치 진행중...
Installed:
mysql-community-client.x86_64 0:8.0.20-1.el7 mysql-community-common.x86_64 0:8.0.20-1.el7 mysql-community-devel.x86_64 0:8.0.20-1.el7 mysql-community-embedded-compat.x86_64 0:8.0.20-1.el7 mysql-community-libs.x86_64 0:8.0.20-1.el7
mysql-community-libs-compat.x86_64 0:8.0.20-1.el7 mysql-community-server.x86_64 0:8.0.20-1.el7 mysql-community-test.x86_64 0:8.0.20-1.el7
Dependency Installed:
keyutils-libs-devel.x86_64 0:1.5.8-3.amzn2.0.2 krb5-devel.x86_64 0:1.15.1-37.amzn2.2.2 libcom_err-devel.x86_64 0:1.42.9-19.amzn2 libkadm5.x86_64 0:1.15.1-37.amzn2.2.2 libselinux-devel.x86_64 0:2.5-12.amzn2.0.2
libsepol-devel.x86_64 0:2.5-8.1.amzn2.0.2 libverto-devel.x86_64 0:0.2.5-4.amzn2.0.2 ncurses-compat-libs.x86_64 0:6.0-8.20170212.amzn2.1.3 openssl-devel.x86_64 1:1.0.2k-19.amzn2.0.8 pcre-devel.x86_64 0:8.32-17.amzn2.0.2
perl-Data-Dumper.x86_64 0:2.145-3.amzn2.0.2 perl-JSON.noarch 0:2.59-2.amzn2 zlib-devel.x86_64 0:1.2.7-18.amzn2
Dependency Updated:
openssl.x86_64 1:1.0.2k-19.amzn2.0.8 openssl-libs.x86_64 1:1.0.2k-19.amzn2.0.8
Replaced:
mariadb-libs.x86_64 1:5.5.68-1.amzn2
Complete!
짝짝짝! 이로 인하여 여러분은 원하는 마이너 버전을 RPM 패키지를 이용하여 쉽게 설치하셨습니다 😁
설치를 했으면 접속해봐야겠죠? 아쉽게도 현재는 접근을 할 수 없습니다..
왜냐하면 MySQL 프로세스가 현재 리눅스에 활성화되지 않은 상태이기 때문이에요. 걱정마세요! 이부분도 쉽게 한가지 명령어로 프로세스를 띄우실 수 있습니다.
# systemctl start mysqld # 명령이 끝나고 나면 MySQL이 기동됩니다!
# ps 명령어를 통해 mysql 기동여부를 확인하실 수 있어요.
# ps -ef |grep mysql
mysql 362 1 0 13:53 ? 00:00:03 /usr/sbin/mysqld
root 456 3471 0 14:09 pts/0 00:00:00 grep --color=auto mysql
# sudo grep 'temporary password' /var/log/mysqld.log # 이 명령어를 통해 임시 비밀번호를 체크합니다.
2021-10-08T13:53:44.219783Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: 4.mBNncFk!Ya
# mysql -uroot -p # MySQL에 접근하기 위하여 기본 유저 이름(root) 와 비밀번호를 입력합니다! 비밀번호는 아까 설정한 임시 비밀번호겠지요? ^^
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 8.0.20
Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> # 짝짝짝! 위 메시지를 보셨죠? 8.0.20 으로 정상 설치된데다가, 접근까지 성공하셨습니다! 아래 명령어를 이용하여 사용하고싶으신 비밀번호로 변경합니다 :)
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';
Query OK, 0 rows affected (0.01 sec)
여기까지 진행하셨다면, 여러분은 MySQL을 진행하기 위한 패키지 설치를 마친 셈입니다! 축하드립니다 :)
지금까지 원하는 특정 버전이 있을 때의 패키지 설치 방법에 대해 알아보았습니다.
다음 포스팅에서는 설치된 MySQL을 이용하여 MySQL 8.0 의 새로운 기능이나, 간단한 테이블 데이터 만들기 등을 안내드릴 수 있도록 하겠습니다!
그럼 다음 포스팅에서 다시 뵙겠습니다, 지금까지 대담이였습니다!
'MySQL & Aurora' 카테고리의 다른 글
MySQL Internal 살펴보기 - Recovery - Startup 과정 (0) | 2021.10.23 |
---|---|
MySQL Internal 살펴보기 - SELECT 수행과정 (0) | 2021.10.14 |
What Is New In MySQL 5.7 (0) | 2018.04.05 |
2018-01-11 Percona Webinar 요약 (0) | 2018.01.11 |
MySQL Position 설정(SBR의 경우 무엇으로 맞출까?) (0) | 2018.01.05 |