Debian 10에 MariaDB 설치 방법

Debian 10에 MariaDB 설치 방법

2022-05-31 last update

9 minutes reading Databases Debian 10 MariaDB MySQL

소개


MariaDB는 데이터베이스 관리 시스템(DBMS)으로 유행하는 (Linux, Apache, MySQL, PHP/Python/Perl) 스택의 MySQL 부분을 대체하는 데 자주 사용된다.이것은 MySQL을 대체하기 위한 것입니다. 데비안은 현재 MariaDB 패키지에서만 제공됩니다.MySQL 서버 관련 패키지를 설치하려고 하면 호환되는 MariaDB 교체 버전을 받게 됩니다.
이 설치 안내서의 간단한 버전은 다음과 같은 세 가지 절차를 포함합니다.
  • 사용apt
  • 패키지 인덱스 업데이트
  • 사용mariadb-server설치apt팩.이 패키지는 관련 도구를 도입하여 MariaDB
  • 와 상호작용을 합니다.
  • 서버에 대한 액세스를 제한하기 위해 포함된 mysql_secure_installation 보안 스크립트를 실행
    1. sudo apt update
    2. sudo apt install mariadb-server
    3. sudo mysql_secure_installation
    이 강좌는 Debian 10 서버에 MariaDB 버전 10.3을 설치하는 방법을 설명하고 실행 중인지, 안전한 초기 설정이 있는지 확인합니다.

    선결 조건


    이 강좌를 완성하려면 sudo 권한이 있는 비루트 사용자와 방화벽을 포함하는 데비안 10 서버를 설치해야 합니다.저희 LAMP 에 따라 설정할 수 있습니다.

    1단계 - MariaDB 설치


    Debian 10에서는 기본적으로 MariaDB 버전 10.3이 APT 패키지 저장소에 포함됩니다.Debian MySQL/MariadB 패키지 팀은 이를 기본 MySQL 변형으로 표시합니다.
    설치하려면 apt 를 사용하여 서버의 패키지 인덱스를 업데이트합니다.
    1. sudo apt update
    그런 다음 패키지를 설치합니다.
    1. sudo apt install mariadb-server
    이 명령은 MariaDB를 설치하지만 암호를 설정하거나 다른 설정을 변경하라는 메시지가 표시되지 않습니다.기본 구성으로 인해 MariaDB 설치가 안전하지 않으므로 패키지에서 제공하는 스크립트를 사용하여 서버에 대한 액세스를 제한하고 사용하지 않는 계정을 삭제합니다.

    2단계 - MariaDB 구성


    새 MariaDB 설치의 경우 다음 단계는 포함된 보안 스크립트를 실행하는 것입니다.이 스크립트는 안전하지 않은 기본 옵션을 변경했습니다.원격 루트 사용자의 로그인을 막고 사용하지 않은 데이터베이스 사용자를 삭제하는 데 사용됩니다.
    다음 보안 스크립트를 실행합니다.
    1. sudo mysql_secure_installation
    이것은 MariaDB 설치에 대한 보안 옵션을 변경할 수 있는 일련의 힌트를 안내합니다.첫 번째 프롬프트에서는 현재 데이터베이스 루트 암호를 입력해야 합니다.아직 설정되지 않았으므로 mariadb-server 을 눌러 없음 을 나타냅니다.
    다음 프롬프트는 데이터베이스 루트 암호를 설정할 것인지 묻습니다.ENTER를 입력하고 N를 누릅니다.Debian에서 MariaDB의 루트 계정은 자동 시스템 유지보수와 밀접한 관계가 있기 때문에 이 계정 설정의 인증 방법을 변경해서는 안 됩니다.이렇게 하면 관리 계정에 대한 접근을 삭제하여 패키지 업데이트가 데이터베이스 시스템을 중단시킬 수 있다.잠시 후, 플러그인 인증이 사용자의 용례에 맞지 않으면 암호 접근을 위해 추가 관리 계정을 설정하는 방법을 소개할 것입니다.
    여기에서 ENTER 를 누르고 Y 를 누르면 모든 후속 문제의 기본 설정을 받아들일 수 있습니다.이것은 일부 익명 사용자와 테스트 데이터베이스를 삭제하고 원격 루트 로그인을 사용하지 않으며 이 새로운 규칙을 불러와서 MariaDB가 변경 사항을 즉시 존중할 수 있도록 합니다.

    3단계 - (선택 사항) 사용자 인증 및 권한 조정


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

    단계 4 - MariaDB 테스트


    기본 저장소가 설치되면 MariaDB가 자동으로 실행됩니다.이를 테스트하려면 상태를 확인하십시오.
    1. sudo systemctl status mariadb
    다음과 같은 출력을 받을 수 있습니다.
    Output
    ● mariadb.service - MariaDB 10.3.31 database server Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: Active: active (running) since Mon 2022-03-14 18:33:32 UTC; 2min 2s ago Docs: man:mysqld(8) https://mariadb.com/kb/en/library/systemd/ Main PID: 3229 (mysqld) Status: "Taking your SQL requests now..." Tasks: 31 (limit: 4915) Memory: 74.4M CGroup: /system.slice/mariadb.service └─3229 /usr/sbin/mysqld Mar 14 18:33:32 mariadb /etc/mysql/debian-start[3267]: performance_schema Mar 14 18:33:32 mariadb /etc/mysql/debian-start[3267]: Phase 6/7: Checking and u Mar 14 18:33:32 mariadb /etc/mysql/debian-start[3267]: Running 'mysqlcheck' with Mar 14 18:33:32 mariadb /etc/mysql/debian-start[3267]: # Connecting to localhost Mar 14 18:33:32 mariadb /etc/mysql/debian-start[3267]: # Disconnecting from loca Mar 14 18:33:32 mariadb /etc/mysql/debian-start[3267]: Processing databases Mar 14 18:33:32 mariadb /etc/mysql/debian-start[3267]: information_schema Mar 14 18:33:32 mariadb /etc/mysql/debian-start[3267]: performance_schema Mar 14 18:33:32 mariadb /etc/mysql/debian-start[3267]: Phase 7/7: Running 'FLUSH Mar 14 18:33:32 mariadb /etc/mysql/debian-start[3267]: OK
    MariaDB가 실행되지 않으면 명령admin을 사용하여 시작할 수 있습니다.
    다른 검사를 하려면 sudo systemctl start mariadb 도구를 사용하여 데이터베이스에 연결하십시오. 이 도구는 관리 명령을 실행할 수 있는 클라이언트입니다.예를 들어, 이 명령은 root로 MariaDB에 연결하고 Unix 소켓을 사용하여 버전을 반환합니다.
    1. sudo mysqladmin version
    출력은 다음과 유사해야 합니다.
    Output
    mysqladmin Ver 9.1 Distrib 10.3.31-MariaDB, for debian-linux-gnu on x86_64 Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Server version 10.3.31-MariaDB-0+deb10u1 Protocol version 10 Connection Localhost via UNIX socket UNIX socket /var/run/mysqld/mysqld.sock Uptime: 3 min 6 sec Threads: 6 Questions: 473 Slow queries: 0 Opens: 175 Flush tables: 1 Open tables: 31 Queries per second avg: 2.543
    개별 관리 사용자에 대해 암호 인증을 구성한 경우 다음 명령을 실행하여 동일한 작업을 수행할 수 있습니다.
    1. mysqladmin -u admin -p version
    Output
    Ver 9.1 Distrib 10.3.31-MariaDB, for debian-linux-gnu on x86_64 Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Server version 10.3.31-MariaDB-0+deb10u1 Protocol version 10 Connection Localhost via UNIX socket UNIX socket /var/run/mysqld/mysqld.sock Uptime: 7 min 11 sec Threads: 6 Questions: 474 Slow queries: 0 Opens: 175 Flush tables: 1 Open tables: 31 Queries per second avg: 1.099
    이 출력은 MariaDB가 시작되고 실행 중이며 사용자가 인증에 성공했다는 것을 의미합니다.

    결론


    이 안내서에는 SQL 서버로 사용할 MariaDB가 설치되어 있습니다.설치 과정에서 서버를 보호했습니다.또는 크로스 패키지 업데이트가 MariaDB에 대한 관리 접근을 확보하기 위해 단독 사용자를 만들었습니다.
    이제 실행되고 안전한 MariaDB 서버가 있습니다. 다음은 이 서버를 사용할 수 있는 다음 단계의 예입니다.
  • initial server setup guide
  • MariaDB를 더 큰 애플리케이션 스택에 통합할 수도 있습니다.
  • Import and export databases