CentOS 7에 MySQL 설치하는 방법

소개

MySQL는 오픈 소스 데이터베이스 관리 시스템으로, 보편적인 LEMP (Linux, Nginx, MySQL/MariaDB, PHP/Python/Perl) 스택의 일부로 설치됩니다. 관계형 데이터베이스와 SQL (구조화된 쿼리 언어)를 사용하여 데이터를 관리합니다.

CentOS 7은 일반적으로 MySQL 개발자에 의해 관리되는 MySQL의 포크 인 MariaDB를 선호하며 MySQL의 대체로 설계되었습니다. CentOS 7에서 yum install mysql을 실행하면 MySQL 대신 MariaDB가 설치됩니다. MySQL 대 MariaDB에 대해 궁금하다면, MariaDB는 일반적으로 MySQL의 대체로 원활하게 작동할 것입니다, 따라서 특정한 MySQL 사용 사례가 없는 한, CentOS 7에 MariaDB 설치 방법 가이드를 참조하십시오.

이 자습서에서는 CentOS 7 서버에 MySQL 버전 8을 설치하는 방법에 대해 설명합니다.

전제 조건

이 자습서를 따르려면 다음이 필요합니다:

  • A CentOS 7 with a non-root user with sudo privileges. You can learn more about how to set up a user with these privileges in the Initial Server Setup with CentOS 7 guide.

단계 1 — MySQL 설치

소개에서 언급한대로 MySQL을 설치하는 Yum 명령은 사실 MariaDB를 설치합니다. MySQL을 설치하려면 MySQL 패키지를 제공하는 MySQL 커뮤니티 Yum 저장소를 방문해야 합니다.

웹 브라우저에서 다음을 방문하십시오:

https://dev.mysql.com/downloads/repo/yum/

주목할 만한 다운로드 링크는 파일로 직접 이어지지 않습니다. 대신, 계정을 로그인하거나 등록할 수 있는 후속 페이지로 이어집니다. 계정을 만들고 싶지 않은 경우 “No thanks, just start my download” 텍스트를 찾은 다음 마우스 오른쪽 버튼을 클릭하고 링크 위치를 복사하거나 아래 명령에서 버전 번호를 편집할 수 있습니다.

원하는 버전을 찾아 아래 링크를 업데이트하십시오:

  1. curl -sSLO https://dev.mysql.com/get/mysql80-community-release-el7-5.noarch.rpm

rpm 파일을 저장한 후, 다음 명령을 실행하여 다운로드의 무결성을 확인하고 해당 MD5 값을 사이트에 나열된 값과 비교합니다:

  1. md5sum mysql80-community-release-el7-5.noarch.rpm
Output
e2bd920ba15cd3d651c1547661c60c7c mysql80-community-release-el7-5.noarch.rpm

이 출력을 사이트의 적절한 MD5 값과 비교하십시오:

파일이 손상되거나 변경되지 않았음을 확인했으므로 패키지를 설치합니다:

  1. sudo rpm -ivh mysql57-community-release-el7-9.noarch.rpm

이렇게 하면 두 개의 새로운 MySQL yum 저장소가 추가되며, 이제 이를 사용하여 MySQL 서버를 설치할 수 있습니다:

  1. sudo yum install mysql-server

y를 눌러 진행을 확인하세요. 패키지를 추가했으므로 해당 패키지의 GPG 키를 수락해야합니다. 이를 다운로드하고 설치를 완료하려면 y를 누르세요.

단계 2 — MySQL 시작

다음 명령으로 데몬을 시작합니다:

  1. sudo systemctl start mysqld

systemctl은 모든 서비스 관리 명령의 결과를 표시하지 않으므로 성공 여부를 확인하려면 다음 명령을 사용합니다:

  1. sudo systemctl status mysqld

MySQL이 성공적으로 시작되면 출력에 Active: active (running)이 포함되어 있어야하며 마지막 줄은 다음과 같아야합니다:

  1. Dec 01 19:02:20 centos-512mb-sfo2-02 systemd[1]: Started MySQL Server.

참고: MySQL은 설치될 때 부팅 시 자동으로 시작되도록 설정됩니다. 이 기본 동작을 변경하려면 sudo systemctl disable mysqld를 사용하세요.

설치 프로세스 중에 MySQL 루트 사용자를 위해 임시 암호가 생성됩니다. 다음 명령으로 mysqld.log에서 이를 찾으세요:

  1. sudo grep 'temporary password' /var/log/mysqld.log
Output
2022-01-24T19:54:46.313728Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: mqRfBU_3Xk>r

다음 단계에서 설치를 보안하고 변경해야하는 암호를 메모하세요. 기본 암호 정책은 대문자 하나, 소문자 하나, 숫자 하나 및 특수 문자 하나를 포함하여 12자 이상의 문자가 필요합니다.

단계 3 — MySQL 구성

MySQL에는 원격 루트 로그인 및 샘플 사용자와 같은 일부 보안이 취약한 기본 옵션을 변경하는 보안 스크립트가 포함되어 있습니다.

이 명령을 사용하여 보안 스크립트를 실행하십시오.

  1. sudo mysql_secure_installation

기본 루트 암호를 입력하라는 메시지가 표시됩니다. 입력하자마자 변경해야 합니다.

Output
The existing password for the user account root has expired. Please set a new password. New password:

적어도 하나의 대문자, 소문자, 숫자 및 특수 문자가 포함된 새로운 12자 암호를 입력하십시오. 프롬프트가 표시되면 다시 입력하십시오.

새로운 암호의 강도에 대한 피드백을 받은 후에는 즉시 다시 변경하라는 메시지가 표시됩니다. 방금 변경했으므로 자신 있게 No를 선택할 수 있습니다:

Output
Estimated strength of the password: 100 Change the password for root ? (Press y|Y for Yes, any other key for No) :

암호를 다시 변경할 것인지 묻는 메시지를 거부한 후에는, 이후의 모든 질문에 대해 Y를 누르고 그에 따라 ENTER를 누르면 익명 사용자를 제거하고 원격 루트 로그인을 거부하고 테스트 데이터베이스 및 액세스를 제거하고 권한 테이블을 다시로드할 수 있습니다.

설치를 보호했으므로 이제 테스트를 해보겠습니다.

단계 4 — MySQL 테스트

우리는 mysqladmin 도구를 사용하여 설치를 확인하고 정보를 얻을 수 있습니다. 이 도구는 관리 명령을 실행할 수 있는 클라이언트입니다. 다음 명령을 사용하여 MySQL에 root로(-u root) 연결하고 암호를 입력하고(-p) 버전을 반환합니다.

  1. mysqladmin -u root -p version

다음과 유사한 출력이 표시됩니다:

Output
mysqladmin  Ver 8.0.28 for Linux on x86_64 (MySQL Community Server - GPL)
Copyright (c) 2000, 2022, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Server version		8.0.28
Protocol version	10
Connection		Localhost via UNIX socket
UNIX socket		/var/lib/mysql/mysql.sock
Uptime:			3 min 2 sec

Threads: 2  Questions: 14  Slow queries: 0  Opens: 133  Flush tables: 3  Open tables: 49  Queries per second avg: 0.076

이는 설치가 성공적으로 완료되었음을 나타냅니다.

결론

이 튜토리얼에서는 CentOS 7 서버에 MySQL을 설치하고 보안을 설정했습니다. MySQL 사용에 대해 더 알아보려면 MySQL 명령에 대한 자세한 내용을 학습하는 가이드를 참조할 수 있습니다. 또한 몇 가지 추가 보안 조치를 구현하는 것도 고려해 볼 수 있습니다.

Source:
https://www.digitalocean.com/community/tutorials/how-to-install-mysql-on-centos-7