웹사이트 검색

Debian 10에 최신 MySQL을 설치하는 방법


소개

MySQL은 널리 사용되는 다양한 응용 프로그램의 데이터를 저장하고 검색하는 데 사용되는 탁월한 오픈 소스 데이터베이스 관리 시스템입니다. MySQL은 Linux, Apache 웹 서버 및 PHP 프로그래밍 언어를 포함하는 일반적으로 사용되는 오픈 소스 소프트웨어 집합인 LAMP 스택의 M입니다.

Debian 10에서는 MySQL 프로젝트의 커뮤니티 포크인 MariaDB가 기본 MySQL 변종으로 패키징됩니다. 대부분의 경우 MariaDB가 잘 작동하지만 Oracle의 MySQL에만 있는 기능이 필요한 경우 MySQL 개발자가 유지 관리하는 저장소에서 패키지를 설치하고 사용할 수 있습니다.

이 자습서에서는 이 리포지토리를 추가하여 최신 버전의 MySQL을 설치하고, MySQL 소프트웨어 자체를 설치하고, 설치를 보호하고, MySQL이 실행 중이고 명령에 응답하는지 테스트합니다.

전제 조건

이 튜토리얼을 시작하기 전에 sudo 권한이 있고 방화벽이 구성된 루트가 아닌 사용자가 있는 데비안 10 서버가 필요합니다. Debian 10용 초기 서버 설정 가이드에 따라 이 작업을 수행할 수 있습니다.

1단계 - MySQL 소프트웨어 리포지토리 추가

MySQL 개발자는 공식 MySQL 소프트웨어 리포지토리 구성 및 설치를 처리하는 .deb 패키지를 제공합니다. 리포지토리가 설정되면 Debian의 표준 apt 명령을 사용하여 소프트웨어를 설치할 수 있습니다.

이를 수행하기 전에 필수 OpenPGP 표준을 설치해야 합니다.

최신 업스트림 변경 사항을 반영하도록 로컬 패키지 인덱스를 업데이트하여 시작합니다.

  1. sudo apt update

그런 다음 gnupg 패키지를 설치합니다.

  1. sudo apt install gnupg

설치를 확인한 후 APT는 gnupg와 그 종속 항목을 설치합니다.

다음으로 wget을 사용하여 MySQL .deb 패키지를 다운로드한 다음 dpkg 명령을 사용하여 설치합니다.

웹 브라우저에서 MySQL 다운로드 페이지를 로드합니다. 오른쪽 하단 모서리에서 다운로드 버튼을 찾아 클릭하여 다음 페이지로 이동합니다. 이 페이지는 Oracle 웹 계정에 로그인하거나 등록하라는 메시지를 표시합니다. 건너뛰고 No thanks, just start my download라는 링크를 찾을 수 있습니다. 링크를 마우스 오른쪽 버튼으로 클릭하고 링크 주소 복사를 선택합니다(이 옵션은 브라우저에 따라 다르게 표현될 수 있음).

이제 파일을 다운로드하겠습니다. 서버에서 이 예제에서 사용된 임시 /tmp 디렉토리와 같이 쓸 수 있는 디렉토리로 이동합니다.

  1. cd /tmp

다음으로 wget을 사용하여 파일을 다운로드합니다. 이때 복사한 주소를 다음 명령의 강조 표시된 부분에 붙여넣어야 합니다.

  1. wget https://dev.mysql.com/get/mysql-apt-config_0.8.22-1_all.deb

이제 파일이 현재 디렉터리에 다운로드됩니다. 확인할 파일을 나열합니다.

  1. ls

출력은 방금 다운로드한 파일을 포함하여 다양한 파일 목록을 반환하며 다음 예에서 강조 표시됩니다.

Output
. . . mysql-apt-config_0.8.22-1_all.deb . . .

이제 설치할 준비가 되었습니다. .deb 소프트웨어 패키지를 설치, 제거 및 검사하는 데 사용되는 dpkg 명령을 실행합니다. -i 플래그는 지정된 파일에서 설치하려고 함을 나타냅니다.

  1. sudo dpkg -i mysql-apt-config*

설치하는 동안 다른 MySQL 관련 도구에 대한 리포지토리를 설치하는 옵션과 함께 원하는 MySQL 버전을 지정할 수 있는 구성 화면이 표시됩니다. 기본값은 MySQL의 최신 안정 버전에 대한 리포지토리 정보만 추가합니다. 이것이 우리의 목적을 위해 선택할 것이므로 아래쪽 화살표를 사용하여 Ok 메뉴 옵션으로 이동하고 ENTER를 누르십시오.

이제 패키지가 리포지토리 추가를 완료합니다. 새 소프트웨어 패키지를 사용할 수 있도록 apt 패키지 캐시를 새로 고칩니다.

  1. sudo apt update

이제 MySQL 리포지토리를 추가했으므로 실제 MySQL 서버 소프트웨어를 설치할 준비가 되었습니다. 이러한 리포지토리의 구성을 업데이트해야 하는 경우 sudo dpkg-reconfigure mysql-apt-config를 실행하고 새 옵션을 선택한 다음 sudo apt-get update를 새로 고칩니다. 패키지 캐시.

2단계 - MySQL 설치

리포지토리를 추가하고 패키지 캐시를 새로 업데이트했으므로 이제 apt를 사용하여 최신 MySQL 서버 패키지를 설치할 수 있습니다.

  1. sudo apt install mysql-server

apt는 사용 가능한 모든 mysql-server 패키지를 스캔하고 MySQL 제공 패키지가 가장 최신의 최상의 후보인지 확인합니다. 그런 다음 패키지 종속성을 계산하고 설치 승인을 요청합니다. y를 쓴 다음 ENTER를 씁니다. 소프트웨어가 설치됩니다.

설치의 구성 단계에서 루트 암호를 설정하라는 메시지가 표시됩니다. 계속하려면 보안 암호를 선택하고 확인하십시오. 다음으로 기본 인증 플러그인을 선택하라는 메시지가 나타납니다. 선택 사항을 이해하려면 디스플레이를 읽으십시오. 확실하지 않은 경우 강력한 암호 암호화 사용을 선택하는 것이 더 안전합니다.

지금 MySQL을 설치하고 실행해야 합니다. systemctl을 사용하여 확인:

  1. sudo systemctl status mysql
Output
● mysql.service - MySQL Community Server Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: en Active: active (running) since Thu 2022-02-24 18:59:22 UTC; 23min ago Docs: man:mysqld(8) http://dev.mysql.com/doc/refman/en/using-systemd.html Main PID: 3722 (mysqld) Status: "Server is operational" Tasks: 38 (limit: 4915) Memory: 371.7M CGroup: /system.slice/mysql.service └─3722 /usr/sbin/mysqld Feb 24 18:59:21 sql-debian systemd[1]: Starting MySQL Community Server... Feb 24 18:59:22 sql-debian systemd[1]: Started MySQL Community Server.

Active: 활성(실행 중) 행은 MySQL이 설치되어 실행 중임을 의미합니다. 다음 단계에서는 설치를 좀 더 안전하게 만들 것입니다.

3단계 - MySQL 보안

MySQL은 새 설치에서 몇 가지 보안 관련 업데이트를 수행하는 명령과 함께 제공됩니다. 지금 실행할 수 있습니다.

  1. mysql_secure_installation

그러면 설치 중에 설정한 MySQL 루트 비밀번호를 묻습니다. 입력하고 ENTER를 누르십시오. 이제 일련의 예 또는 아니오 프롬프트에 답하게 됩니다. 검토해 보겠습니다.

먼저 MySQL 사용자를 위해 특정 암호 강도 규칙을 자동으로 적용할 수 있는 플러그인인 암호 유효성 검사 플러그인에 대한 질문을 받습니다. 이를 활성화하는 것은 개별 보안 요구 사항에 따라 결정해야 합니다. y를 쓰고 ENTER를 눌러 활성화하거나 ENTER를 눌러 건너뜁니다. 활성화된 경우 암호 유효성 검사가 얼마나 엄격한지 0-2 수준을 선택하라는 메시지도 표시됩니다. 계속하려면 숫자를 선택하고 ENTER를 누르십시오.

다음으로 루트 암호를 변경할 것인지 묻는 메시지가 나타납니다. 최근에 MySQL을 설치할 때 암호를 생성했으므로 이 단계는 건너뛰어도 됩니다. 암호를 업데이트하지 않고 계속하려면 ENTER를 누르십시오.

나머지 프롬프트는 예라고 대답할 수 있습니다. 익명의 MySQL 사용자 제거, 원격 루트 로그인 금지, test 데이터베이스 제거, 이전 변경 사항이 제대로 적용되도록 권한 테이블 다시 로드에 대한 질문을 받게 됩니다. 이것들은 모두 좋은 생각입니다. y를 쓰고 각각에 대해 ENTER를 누르십시오.

모든 프롬프트에 응답한 후 스크립트가 종료됩니다. 이제 MySQL 설치가 합리적으로 보호됩니다. 다음으로 서버에 연결하고 일부 정보를 반환하는 클라이언트를 실행하여 다시 테스트합니다.

4단계 – MySQL 테스트

mysqladmin은 MySQL용 명령줄 관리 클라이언트입니다. 이를 사용하여 서버에 연결하고 일부 버전 및 상태 정보를 출력합니다. -u root 부분은 mysqladmin에게 MySQL 루트 사용자로 로그인하도록 지시하고, -p는 클라이언트에게 암호를 요청하도록 지시하고 <version은 실행하려는 실제 명령입니다.

  1. mysqladmin -u root -p version

출력 결과는 다음과 같이 실행 중인 MySQL 서버의 버전, 가동 시간 및 기타 상태 정보입니다.

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/run/mysqld/mysqld.sock Uptime: 25 min 31 sec Threads: 2 Questions: 20 Slow queries: 0 Opens: 143 Flush tables: 3 Open tables: 62 Queries per second avg: 0.013

이 출력은 최신 MySQL 서버를 성공적으로 설치하고 보호했음을 확인합니다.

결론

이제 널리 사용되는 많은 애플리케이션에서 작동할 최신 안정 버전의 MySQL을 설치했습니다.

MySQL의 기본 사항에 대한 자세한 내용은 다음 자습서를 확인하는 것이 좋습니다.

  • MySQL에서 새 사용자를 생성하고 권한을 부여하는 방법
  • 클라우드 서버의 MySQL 및 MariaDB에서 데이터베이스를 만들고 관리하는 방법
  • 두 서버 간에 MySQL 데이터베이스를 마이그레이션하는 방법