안녕하세요, 대담이입니다.

 

다시 블로그를 시작하려고 오랜만에 글을 써내려가기 시작합니다 :) 

먼저, 다시 시작하는 마음으로 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 의 새로운 기능이나, 간단한 테이블 데이터 만들기 등을 안내드릴 수 있도록 하겠습니다! 

그럼 다음 포스팅에서 다시 뵙겠습니다, 지금까지 대담이였습니다!

+ Recent posts