Rocky Linux 9에 MySQL을 설치하는 방법


소개

데이터를 관리하고 쿼리하기 위한 SQL(Structured Query Language).

이 튜토리얼은 Rocky Linux 9 서버에 MySQL 버전 8을 설치하는 방법을 설명합니다.

전제 조건

이 튜토리얼을 완료하려면 Rocky Linux 9를 실행하는 서버가 필요합니다. 이 서버에는 관리 권한이 있는 루트가 아닌 사용자와 firewalld로 구성된 방화벽이 있어야 합니다. 이를 설정하려면 Rocky Linux 9용 초기 서버 설정 가이드를 참조하십시오.

1단계 - MySQL 설치

Rocky Linux 9에서 MySQL 버전 8은 기본 리포지토리에서 사용할 수 있습니다.

다음 명령을 실행하여 mysql-server 패키지 및 여러 종속 항목을 설치합니다.

  1. sudo dnf install mysql-server

메시지가 표시되면 y를 누른 다음 ENTER를 눌러 계속 진행할 것인지 확인합니다.

Output
. . . Install 49 Packages Total download size: 46 M Installed size: 252 M Is this ok [y/N]: y

이를 통해 MySQL이 서버에 설치되지만 아직 작동하지 않습니다. 방금 설치한 패키지는 mysqld.service라는 systemd 서비스로 실행되도록 MySQL을 구성합니다. MySQL을 사용하려면 systemctl 명령으로 MySQL을 시작해야 합니다.

  1. sudo systemctl start mysqld.service

서비스가 올바르게 실행되고 있는지 확인하려면 다음 명령을 실행하십시오. start 및 여기에 표시된 status를 포함하여 많은 systemctl 명령의 경우 .service를 포함할 필요가 없습니다. 서비스 이름 뒤:

  1. sudo systemctl status mysqld

MySQL이 성공적으로 시작된 경우 출력에 MySQL 서비스가 활성화된 것으로 표시됩니다.

Output
● mysqld.service - MySQL 8.0 database server Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled) Active: active (running) since Thu 2020-03-12 14:07:41 UTC; 1min 7s ago Main PID: 15723 (mysqld) Status: "Server is operational" Tasks: 38 (limit: 5056) Memory: 474.2M CGroup: /system.slice/mysqld.service └─15723 /usr/libexec/mysqld --basedir=/usr Mar 12 14:07:32 rocky9-mysql systemd[1]: Starting MySQL 8.0 database server... Mar 12 14:07:32 rocky9-mysql mysql-prepare-db-dir[15639]: Initializing MySQL database Mar 12 14:07:41 rocky9-mysql systemd[1]: Started MySQL 8.0 database server.

다음으로 다음 명령을 사용하여 서버가 부팅될 때마다 MySQL이 시작되도록 설정합니다.

  1. sudo systemctl enable mysqld

참고: 이 동작을 변경하고 부팅 시 MySQL이 시작되지 않도록 하려면 다음을 실행하면 됩니다.

  1. sudo systemctl disable mysqld

이제 MySQL이 서버에 설치, 실행 및 활성화되었습니다. 다음으로 MySQL 인스턴스와 함께 사전 설치된 셸 스크립트를 사용하여 데이터베이스의 보안을 강화하는 방법을 살펴보겠습니다.

2단계 - MySQL 보안

MySQL에는 MySQL의 보안을 향상시키기 위해 일부 기본 구성 옵션을 변경할 수 있는 보안 스크립트가 포함되어 있습니다.

보안 스크립트를 사용하려면 다음 명령을 실행하십시오.

  1. sudo mysql_secure_installation

이렇게 하면 MySQL 설치의 보안 옵션을 특정하게 변경할 것인지 묻는 일련의 프롬프트가 표시됩니다. 첫 번째 프롬프트는 MySQL 암호의 강도를 테스트하는 데 사용할 수 있는 암호 유효성 검사 플러그인을 설정할 것인지 묻습니다.

암호 유효성 검사 플러그인을 설정하기로 선택한 경우 스크립트에서 암호 유효성 검사 수준을 선택하라는 메시지가 표시됩니다. 2를 입력하여 선택한 가장 강력한 수준은 비밀번호가 8자 이상이어야 하며 대문자, 소문자, 숫자 및 특수 문자가 혼합되어 있어야 합니다.

Output
Securing the MySQL server deployment. Connecting to MySQL using a blank password. VALIDATE PASSWORD COMPONENT can be used to test passwords and improve security. It checks the strength of password and allows the users to set only those passwords which are secure enough. Would you like to setup VALIDATE PASSWORD component? Press y|Y for Yes, any other key for No: Y There are three levels of password validation policy: LOW Length >= 8 MEDIUM Length >= 8, numeric, mixed case, and special characters STRONG Length >= 8, numeric, mixed case, special characters and dictionary file Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 2

암호 유효성 검사 플러그인 설정 여부에 관계없이 다음 프롬프트는 MySQL 루트 사용자의 암호를 설정하라는 것입니다. 선택한 보안 암호를 입력하고 확인합니다.

Output
Please set the password for root here. New password: Re-enter new password:

암호 유효성 검사 플러그인을 사용한 경우 새 암호의 강도에 대한 피드백을 받게 됩니다. 그런 다음 스크립트는 방금 입력한 암호를 계속 사용할 것인지 또는 새 암호를 입력할 것인지 묻습니다. 방금 입력한 암호의 강도에 만족한다고 가정하고 Y를 입력하여 스크립트를 계속 진행합니다.

Output
Estimated strength of the password: 100 Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : Y

그런 다음 Y를 누른 다음 ENTER를 눌러 모든 후속 질문에 대한 기본값을 수락할 수 있습니다. 이렇게 하면 일부 익명 사용자와 테스트 데이터베이스가 제거되고 원격 루트 로그인이 비활성화되며 이러한 새 규칙이 로드되어 MySQL이 변경 사항을 즉시 적용합니다.

이것으로 Rocky Linux 9 서버에 MySQL을 설치하고 보호했습니다. 마지막 단계로 데이터베이스에 액세스할 수 있고 예상대로 작동하는지 테스트합니다.

3단계 - MySQL 테스트

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

  1. mysqladmin -u root -p version

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

mysqladmin  Ver 8.0.28 for Linux on x86_64 (Source distribution)
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:            1 min 11 sec

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

이는 설치에 성공했음을 나타냅니다.

MySQL에 연결하고 데이터를 추가하려면 다음을 실행하십시오.

  1. mysql -u root -p

이전 mysqladmin 명령과 마찬가지로 이 명령에는 연결하려는 사용자(이 경우 루트)를 지정할 수 있는 -u 옵션이 포함되어 있습니다. -p 옵션은 이전 단계에서 설정한 사용자 암호를 묻는 메시지를 명령에 지시합니다.

루트 MySQL 사용자의 비밀번호를 입력하면 MySQL 프롬프트가 표시됩니다.

여기에서 MySQL 설치를 사용하여 데이터베이스를 생성 및 로드하고 쿼리 실행을 시작할 수 있습니다.

결론

이 튜토리얼을 따라 Rocky Linux 9 서버에 MySQL을 설치하고 보호했습니다. 여기에서 Nginx 및 PHP를 설치하여 서버에서 완전히 작동하는 LEMP 스택을 가질 수 있습니다.

MySQL 사용에 대해 자세히 알아보려면 공식 문서를 검토하는 것이 좋습니다.