Ubuntu 18.04에 MariaDB 설치 방법

Ubuntu 18.04에 MariaDB 설치 방법

2022-05-31 last update

9 minutes reading Ubuntu 18.04 MariaDB Ubuntu Interactive MySQL Databases

소개


MariaDB은 오픈소스 데이터베이스 관리 시스템으로 유행하는 LAMP(Linux, Apache, MySQL, PHP/Python/Perl) 창고의 MySQL 부분을 대체하는 데 자주 사용된다.그것의 목적은 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 18.04 서버에 MariaDB를 설치하는 방법을 설명하고 실행 중인지, 초기 설정이 안전한지 확인합니다.

    선결 조건


    본 강좌를 배우려면 다음이 필요합니다.
  • Ubuntu 18.04 서버는 this initial server setup guide에 따라 설치되며, sudo 권한을 가진 비루트 사용자와 방화벽을 포함한다.
  • 이 페이지에 삽입된 인터랙티브 터미널을 사용하여 이 강좌에 MariaDB를 설치하고 설정할 수도 있습니다.다음 Launch an Interactive Terminal! 버튼을 클릭하여 시작합니다.

    1단계 - MariaDB 설치


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

    2단계 - MariaDB 구성


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

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


    MariaDB 10.1을 실행하는 Ubuntu 시스템에서 루트 MariaDB 사용자는 비밀번호가 아닌 unix_socket 플러그인을 사용하여 인증하도록 기본적으로 설정합니다.이것은 많은 경우에 더 큰 안전성과 가용성을 허용하지만, 외부 프로그램 (예를 들어 phpMyAdmin) 의 관리 권한을 허용해야 할 때, 이것도 일을 복잡하게 할 수 있습니다.
    서버는 루트 계정을 로그 교환 및 서버 시작 및 정지 등 작업에 사용하기 때문에 루트 계정의 인증 세부 정보를 변경하지 않는 것이 좋습니다./etc/mysql/debian.cnf 구성 파일의 자격 증명을 변경하면 처음에는 사용할 수 있지만 패키지 업데이트가 변경 사항을 덮어쓸 수 있습니다.패키지 관리자는 루트 계정을 수정하지 않고 비밀번호 기반 접근을 위한 단독 관리 계정을 만드는 것을 권장합니다.
    이를 위해, 우리는 admin이라는 새로운 계정을 만들 것입니다. 그 기능은 루트 계정과 같지만 암호 검증으로 설정됩니다.이 작업을 수행하려면 터미널에서 MariaDB 프롬프트를 엽니다.
    1. sudo mysql
    이제 루트 권한과 암호 기반 접근 권한을 가진 새 사용자를 만들 것입니다.기본 설정과 일치하도록 사용자 이름과 암호를 변경합니다.
    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.1.44 database server Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2020-03-25 16:51:16 UTC; 8min ago Docs: man:mysqld(8) https://mariadb.com/kb/en/library/systemd/ Main PID: 22559 (mysqld) Status: "Taking your SQL requests now..." Tasks: 27 (limit: 1152) CGroup: /system.slice/mariadb.service └─22559 /usr/sbin/mysqld Mar 25 16:51:17 ubuntu-mariadb /etc/mysql/debian-start[22596]: mysql Mar 25 16:51:17 ubuntu-mariadb /etc/mysql/debian-start[22596]: performance_schema Mar 25 16:51:17 ubuntu-mariadb /etc/mysql/debian-start[22596]: Phase 6/7: Checking and upgrading tables Mar 25 16:51:17 ubuntu-mariadb /etc/mysql/debian-start[22596]: Processing databases Mar 25 16:51:17 ubuntu-mariadb /etc/mysql/debian-start[22596]: information_schema Mar 25 16:51:17 ubuntu-mariadb /etc/mysql/debian-start[22596]: performance_schema Mar 25 16:51:17 ubuntu-mariadb /etc/mysql/debian-start[22596]: Phase 7/7: Running 'FLUSH PRIVILEGES' Mar 25 16:51:17 ubuntu-mariadb /etc/mysql/debian-start[22596]: OK Mar 25 16:51:17 ubuntu-mariadb /etc/mysql/debian-start[22658]: Checking for insecure root accounts. Mar 25 16:51:17 ubuntu-mariadb /etc/mysql/debian-start[22663]: Triggering myisam-recover for all MyISAM tables and aria-recover for all Aria tables
    MariaDB가 실행되지 않으면 명령 sudo systemctl start mariadb을 사용하여 시작할 수 있습니다.
    다른 검사를 진행하려면 mysqladmin 도구를 사용하여 데이터베이스에 연결하십시오. 이 도구는 관리 명령을 실행할 수 있는 클라이언트입니다.예를 들어, 이 명령은 root로 MariaDB에 연결하고 Unix 소켓을 사용하여 버전을 반환합니다.
    1. sudo mysqladmin version
    다음과 같은 출력을 받아야 합니다.
    Output
    mysqladmin Ver 9.1 Distrib 10.1.44-MariaDB, for debian-linux-gnu on x86_64 Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Server version 10.1.44-MariaDB-0ubuntu0.18.04.1 Protocol version 10 Connection Localhost via UNIX socket UNIX socket /var/run/mysqld/mysqld.sock Uptime: 10 min 9 sec Threads: 1 Questions: 445 Slow queries: 0 Opens: 167 Flush tables: 1 Open tables: 30 Queries per second avg: 0.730
    개별 관리 사용자에 대해 암호 인증을 구성한 경우 다음 내용을 입력하여 동일한 작업을 수행할 수 있습니다.
    1. mysqladmin -u admin -p version
    이것은 MariaDB가 시작되고 실행 중이며 사용자가 인증에 성공했다는 것을 의미합니다.

    결론


    이 안내서에는 SQL 서버로 MariaDB가 설치되어 있습니다.설치 과정에서 서버를 보호했습니다.암호 인증을 받은 별도의 관리자를 만들 수도 있습니다.
    현재 실행 중이고 안전한 MariaDB 서버가 있습니다. 다음은 이 서버를 사용할 수 있는 다음 단계의 예입니다.
  • Import and export databases
  • MariaDB를 더 큰 애플리케이션 스택에 통합할 수도 있습니다.
  • How To Install Linux, Nginx, MariaDB, PHP (LEMP stack) on Ubuntu 18.04