SW/리눅스

Ubuntu 18.04 : MySQL 설치하는 방법, 예제, 명령어

얇은생각 2020. 11. 3. 07:30
반응형

MySQL은 가장 널리 사용되는 오픈 소스 관계형 데이터베이스 관리 시스템입니다. 이 제품은 빠르고 사용하기 쉬우며 확장 가능하며 인기 있는 LAMP 및 LEMP 스택의 필수 부품입니다. 

이 튜토리얼에서는 Ubuntu 18.04에 MySQL을 설치하고 보호하는 방법을 보여드리겠습니다.

 

Ubuntu 18.04 : MySQL 설치하는 방법, 예제, 명령어

 

필수 구성 요소

sudo 권한을 가진 사용자로 로그인했는지 확인합니다.

 

 

 

Ubuntu에 MySQL 설치

작성할 당시 공식 Ubuntu 리포지토리에서 사용할 수 있는 MySQL의 최신 버전은 MySQL 버전 5.7입니다. 

Ubuntu 서버에 MySQL을 설치하려면 다음 단계를 따릅니다.

 

01. 먼저 다음을 입력하여 적절한 패키지 인덱스를 업데이트합니다.

sudo apt update

 

 

02. 그런 다음 다음 다음 명령을 사용하여 MySQL 패키지를 설치합니다.

sudo apt install mysql-server

 

 

03. 설치가 완료되면 MySQL 서비스가 자동으로 시작됩니다. MySQL 서버가 실행 중인지 확인하려면 다음을 입력합니다.

sudo systemctl status mysql

# ● mysql.service - MySQL Community Server
#    Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
#    Active: active (running) since Wed 2018-06-20 11:30:23 PDT; 5min ago
#  Main PID: 17382 (mysqld)
#     Tasks: 27 (limit: 2321)
#    CGroup: /system.slice/mysql.service
#            `-17382 /usr/sbin/mysqld --daemonize --pid-file=/run/mysqld/mysqld.pid
# Securing MySQL #

 

 

 

MySQL 보호

MySQL 서버 패키지는 여러 보안 관련 작업을 수행할 수 있는 mysql_secure_installation이라는 스크립트와 함께 제공됩니다. 

다음을 입력하여 스크립트를 실행합니다.

sudo mysql_secure_installation

 

 

 

MySQL 사용자 암호의 강도를 테스트하고 보안을 향상시키는 데 사용되는 PASSWORDECT PUGING을 구성하라는 메시지가 표시됩니다. 암호 유효성 검사 정책에는 낮음, 중간 및 높음 세 가지 수준이 있습니다. 암호 유효성 검사 플러그인을 설정하지 않으려면 ENTER를 누릅니다.

다음 프롬프트에서 MySQL 루트 사용자의 암호를 설정하라는 메시지가 표시됩니다. 이렇게 하면 스크립트에서 익명 사용자를 제거하고 로컬 시스템에 대한 루트 사용자 액세스를 제한하며 테스트 데이터베이스를 제거하라는 메시지도 표시됩니다. 모든 질문에 "Y"(예)라고 대답해야 합니다.

 

 

 

루트로 로그인

명령줄에서 MySQL 서버와 상호 작용하려면 MySQL 서버 패키지의 종속성으로 설치된 MySQL 클라이언트 유틸리티를 사용할 수 있습니다.

MySQL 5.7 이상을 실행하는 Ubuntu 시스템에서 루트 사용자는 기본적으로 auth_socket 플러그인에 의해 인증됩니다.

auth_socket 플러그인은 로컬 호스트에서 Unix 소켓 파일을 통해 연결하는 사용자를 인증합니다. 즉, 암호를 제공하여 루트로 인증할 수 없습니다.

MySQL 서버에 루트 사용자 유형으로 로그인하려면 다음을 수행합니다.

 

sudo mysql

# Welcome to the MySQL monitor.  Commands end with ; or \g.
# Your MySQL connection id is 8
# Server version: 5.7.22-0ubuntu18.04.1 (Ubuntu)
# 
# Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
# 
# Oracle is a registered trademark of Oracle Corporation and/or its
# affiliates. Other names may be trademarks of their respective
# owners.
# 
# Type 'help;' or '\h' for help. Type '\c' to clear the current input statement

 

 

phpMyAdmin과 같은 외부 프로그램에서 루트로 MySQL 서버에 로그인하려면 두 가지 옵션이 있습니다.

첫 번째 방법은 auth_socket에서 mysql_native_password로 인증 방법을 변경하는 것입니다. 다음 명령을 실행하여 이 작업을 수행할 수 있습니다.

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'very_strong_password';
FLUSH PRIVILEGES;

 

 

두 번째 권장 옵션은 모든 데이터베이스에 대한 액세스 권한을 가진 새 관리 사용자를 만드는 것입니다.

GRANT ALL PRIVILEGES ON *.* TO 'administrator'@'localhost' IDENTIFIED BY 'very_strong_password';
반응형