Ubuntu 20.04에 MariaDB 설치 방법

Ubuntu 20.04에 MariaDB 설치 방법

2022-05-31 last update

9 minutes reading Ubuntu 20.04 MariaDB Ubuntu MySQL Databases

소개


MariaDB는 개원 관계 데이터베이스 관리 시스템으로 일반적으로 MySQL의 대체품으로 사용되며 유행하는 LAMP(Linux, Apache, MySQL, PHP/Python/Perl) 창고의 데이터베이스 부분으로 사용된다.그것의 목적은 MySQL의 대체품이다.
이 설치 안내서의 간단한 버전은 다음과 같은 세 가지 절차를 포함합니다.
  • 사용apt
  • 패키지 인덱스 업데이트
  • 사용mariadb-server설치apt팩.이 패키지는 관련 도구를 도입하여 MariaDB
  • 와 상호작용을 합니다.
  • 서버에 대한 액세스를 제한하기 위해 포함된 mysql_secure_installation 보안 스크립트를 실행
    1. sudo apt update
    2. sudo apt install mariadb-server
    3. sudo mysql_secure_installation
    이 강좌는 Ubuntu 20.04 서버에 MariaDB를 설치하는 방법을 설명하고 실행 중인지, 안전한 초기 설정이 있는지 확인합니다.

    선결 조건


    이 강좌를 배우려면 Ubuntu 20.04를 실행하는 서버가 필요합니다.이 서버에는 루트가 아닌 사용자 관리 및 UFW가 구성된 방화벽이 있어야 합니다.다음 절차를 통해 설정합니다our initial server setup guide for Ubuntu 20.04.
    이 페이지에 삽입된 인터랙티브 터미널을 사용하여 이 강좌에 MariaDB를 설치하고 설정할 수도 있습니다.다음Launch an Interactive Terminal! 버튼을 클릭하여 시작합니다.

    1단계 - MariaDB 설치


    이 문서를 작성할 때 Ubuntu 20.04의 기본 APT 저장소는 MariaDB 버전 10.3을 포함합니다.
    설치하려면 apt 를 사용하여 서버의 패키지 인덱스를 업데이트합니다.
    1. sudo apt update
    그런 다음 패키지를 설치합니다.
    1. sudo apt install mariadb-server
    MariaDB에서 systemctl start 명령을 실행하고 있는지 확인합니다.
    1. sudo systemctl start mariadb.service
    이 명령은 MariaDB를 설치하고 시작하지만 암호를 설정하거나 다른 설정을 변경하라는 메시지가 표시되지 않습니다.기본 설정으로 인해 MariaDB 설치가 안전하지 않으므로 패키지에서 제공하는 스크립트를 사용하여 서버에 대한 액세스를 제한하고 사용하지 않는 계정을 삭제합니다.

    2단계 - MariaDB 구성


    새 MariaDB 설치의 경우 다음 단계는 포함된 보안 스크립트를 실행하는 것입니다.이 스크립트는 원격 루트 로그인과 예시 사용자 등 안전하지 않은 기본 옵션을 변경했습니다.
    보안 스크립트를 실행하려면:
    1. sudo mysql_secure_installation
    이것은 MariaDB 설치에 대한 보안 옵션을 변경할 수 있는 일련의 힌트를 안내합니다.첫 번째 프롬프트에서는 현재 데이터베이스 루트 암호를 입력해야 합니다.아직 설정되지 않았으므로 mariadb-server 을 눌러 없음 을 나타냅니다.
    Output
    NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY! In order to log into MariaDB to secure it, we'll need the current password for the root user. If you've just installed MariaDB, and you haven't set the root password yet, the password will be blank, so you should just press enter here. Enter current password for root (enter for none):
    다음 프롬프트는 데이터베이스 루트 암호를 설정할 것인지 묻습니다.Ubuntu에서 MariaDB의 루트 계정은 자동 시스템 유지보수와 밀접한 관계가 있기 때문에 이 계정 설정의 인증 방법을 변경해서는 안 된다.이렇게 하면 관리 계정에 대한 접근을 삭제하여 패키지 업데이트가 데이터베이스 시스템을 중단시킬 수 있다.ENTER를 입력하고 N를 누릅니다.
    Output
    . . . OK, successfully used password, moving on... Setting the root password ensures that nobody can log into the MariaDB root user without the proper authorisation. Set root password? [Y/n] N
    잠시 후, 만약 플러그인 인증이 당신의 용례에 적합하지 않다면, 암호 접근을 위해 추가 관리 계정을 설정하는 방법을 소개할 것입니다.
    여기에서 ENTER 를 누르고 Y 를 누르면 모든 후속 문제의 기본 설정을 받아들일 수 있습니다.이것은 일부 익명 사용자와 테스트 데이터베이스를 삭제하고 원격 루트 로그인을 사용하지 않으며 이 새로운 규칙을 불러와서 MariaDB가 변경한 것을 즉시 실현할 수 있도록 합니다.
    이로써 MariaDB의 초기 보안 구성을 완료했습니다.다음 단계는 선택 사항이지만 암호를 사용하여 MariaDB 서버를 인증하려면 이 절차를 따라야 합니다.

    3단계 - (선택 사항) 암호 인증을 사용하는 관리자 만들기


    MariaDB 10.3을 실행하는 Ubuntu 시스템에서 루트 MariaDB 사용자는 비밀번호가 아닌 ENTER 플러그인을 사용하여 인증하도록 기본적으로 설정합니다.이것은 많은 경우에 더 큰 안전성과 가용성을 허용하지만, 외부 프로그램 (예를 들어 phpMyAdmin) 의 관리 권한을 허용해야 할 때, 이것도 일을 복잡하게 할 수 있습니다.
    서버는 루트 계정을 로그 교환 및 서버 시작 및 정지 등 작업에 사용하기 때문에 루트 계정의 인증 세부 정보를 변경하지 않는 것이 좋습니다.변경 unix_socket 구성 파일의 자격 증명이 처음에는 작용할 수 있지만 패키지 업데이트가 변경 사항을 덮어쓸 수 있습니다.패키지 관리자는 루트 계정을 수정하지 않고 비밀번호 기반 접근을 위한 단독 관리 계정을 만드는 것을 권장합니다.
    이를 위해, 루트 계정과 기능이 같지만 암호 검증으로 설정된admin이라는 새 계정을 만들 것입니다.터미널에서 MariaDB 프롬프트를 엽니다.
    1. sudo mariadb
    그리고 루트 권한과 비밀번호 기반 접근 권한을 가진 새 사용자를 만듭니다.기본 설정과 일치하도록 사용자 이름과 암호를 변경하십시오.
    1. GRANT ALL ON *.* TO 'admin'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;
    사용 권한을 새로 고쳐 현재 세션에 저장하고 사용할 수 있도록 합니다.
    1. FLUSH PRIVILEGES;
    그런 다음 MariaDB 셸을 종료합니다.
    1. exit
    마지막으로 MariaDB 설치를 테스트해 보겠습니다.

    단계 4 - MariaDB 테스트


    기본 저장소가 설치되면 MariaDB가 자동으로 실행됩니다.이를 테스트하려면 상태를 확인하십시오.
    1. sudo systemctl status mariadb
    다음과 같은 출력을 받을 수 있습니다.
    Output
    ● mariadb.service - MariaDB 10.3.22 database server Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2020-05-12 13:38:18 UTC; 3min 55s ago Docs: man:mysqld(8) https://mariadb.com/kb/en/library/systemd/ Main PID: 25914 (mysqld) Status: "Taking your SQL requests now..." Tasks: 31 (limit: 2345) Memory: 65.6M CGroup: /system.slice/mariadb.service └─25914 /usr/sbin/mysqld . . .
    MariaDB가 실행되지 않으면 명령/etc/mysql/debian.cnf을 사용하여 시작할 수 있습니다.
    다른 검사를 하려면 sudo systemctl start mariadb 도구를 사용하여 데이터베이스에 연결하십시오. 이 도구는 관리 명령을 실행할 수 있는 클라이언트입니다.예를 들어, 이 명령은 Unix 소켓을 사용하여 root로 MariaDB에 연결하고 버전을 반환합니다.
    1. sudo mysqladmin version
    다음과 같은 출력을 받을 수 있습니다.
    Output
    mysqladmin Ver 9.1 Distrib 10.3.22-MariaDB, for debian-linux-gnu on x86_64 Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Server version 10.3.22-MariaDB-1ubuntu1 Protocol version 10 Connection Localhost via UNIX socket UNIX socket /var/run/mysqld/mysqld.sock Uptime: 4 min 49 sec Threads: 7 Questions: 467 Slow queries: 0 Opens: 177 Flush tables: 1 Open tables: 31 Queries per second avg: 1.615
    개별 관리 사용자에 대해 암호 인증을 구성한 경우 다음 내용을 입력하여 동일한 작업을 수행할 수 있습니다.
    1. mysqladmin -u admin -p version
    이것은 MariaDB가 시작되고 실행 중이며 사용자가 인증에 성공했다는 것을 의미합니다.

    결론


    이 안내서에는 MariaDB 관계 데이터베이스 관리 시스템을 설치하고 첨부된 mysqladmin 스크립트를 사용하여 보호합니다.MariaDB 서버의 기능을 테스트하기 전에 암호 인증을 사용하는 새로운 관리 사용자를 만들 수도 있습니다.
    현재 실행 중이고 안전한 MariaDB 서버가 있습니다. 다음은 이 서버를 사용할 수 있는 다음 단계의 예입니다.
  • Learn how to import and export databases
  • Practice running SQL queries
  • Incorporate MariaDB into a larger application stack