세계에서 가장 널리 사용되는 오픈 소스 관계형 데이터베이스 관리 시스템인 MySQL은 기본 Debian의 리포지토리에서 사용할 수 없습니다. MariaDB는 Debian 10의 기본 데이터베이스 시스템입니다.
MySQL Apt Repository에서 Debian 10에 MySQL을 설치하고 보호하는 방법에 대해 설명합니다.
MySQL 리포지토리를 구성
시스템에 MySQL APT 저장소를 추가하려면 저장소 다운로드 페이지로 이동하여 다음 wget 명령을 사용하여 최신 릴리스 패키지를 다운로드합니다.
wget http://repo.mysql.com/mysql-apt-config_0.8.13-1_all.deb
다운로드가 완료되면 sudo 권한을 가진 사용자로 릴리스 패키지를 설치합니다.
sudo apt install ./mysql-apt-config_0.8.13-1_all.deb
설치하려는 MySQL 버전을 선택할 수 있는 구성 메뉴가 나타납니다.
MySQL 8.0이 미리 선택되어 있습니다. MySQL 5.7을 설치하려면 MySQL Server & Cluster(현재 선택됨: mysql-8.0)를 선택하고 원하는 MySQL 버전을 선택하십시오.
MySQL 버전 8.0을 설치할 예정입니다. Tab을 눌러 OK를 선택하고 Enter(입력)를 누릅니다(위 이미지 참조).
어떤 버전을 선택해야 할지 잘 모를 경우 서버에 배포할 응용프로그램의 설명서를 참조하십시오.
MySQL을 설치
다음을 실행하여 패키지 목록을 업데이트하고 MySQL 서버 패키지를 설치합니다.
sudo apt update
sudo apt install mysql-server
MySQL 루트 암호를 설정하라는 메시지가 표시됩니다. 지금 암호를 설정하지 마십시오(공백으로 두십시오). 다음 섹션에서 암호를 설정합니다.
그런 다음 새 MySQL 8 인증에 대해 알리는 메시지가 표시됩니다. 기본 MySQL 8 인증 플러그인을 선택하기 전에 응용 프로그램에서 지원되는지 확인하십시오.
설치가 완료되면 MySQL 서비스가 자동으로 시작됩니다. 다음을 입력하여 확인할 수 있습니다.
sudo systemctl status mysql
# ● mysql.service - MySQL Community Server
# Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: en
# Active: active (running) since Fri 2019-07-26 13:23:25 PDT; 37s ago
# ...
MySQL을 보호
mysql_secure_installation 명령을 실행하여 루트 암호를 설정하고 MySQL 설치의 보안을 강화합니다.
sudo mysql_secure_installation
# Securing the MySQL server deployment.
#
# Connecting to MySQL using a blank password.
#
# VALIDATE PASSWORD COMPONENT can be used to test passwords
# and improve security. It checks the strength of password
# and allows the users to set only those passwords which are
# secure enough. Would you like to setup VALIDATE PASSWORD component?
#
# Press y|Y for Yes, any other key for No:
MySQL 사용자 암호의 강도를 테스트하는 데 사용되는 VIALIDE PASSWORD PLUGIN을 구성하라는 메시지가 표시됩니다. 암호 유효성 검사 정책에는 낮음, 중간 및 높음의 세 가지 수준이 있습니다. 유효한 암호 플러그인을 설정하지 않으려면 ENTER를 누릅니다.
다음 프롬프트에서 MySQL 루트 사용자의 암호를 설정하라는 메시지가 표시됩니다.
# Please set the password for root here.
#
# New password:
#
# Re-enter new password:
#
# By default, a MySQL installation has an anonymous user,
# allowing anyone to log into MySQL without having to have
# a user account created for them. This is intended only for
# testing, and to make the installation go a bit smoother.
# You should remove them before moving into a production
# environment.
#
# Remove anonymous users? (Press y|Y for Yes, any other key for No) : y
# Success.
#
#
# Normally, root should only be allowed to connect from
# 'localhost'. This ensures that someone cannot guess at
# the root password from the network.
#
# Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y
# Success.
#
# By default, MySQL comes with a database named 'test' that
# anyone can access. This is also intended only for testing,
# and should be removed before moving into a production
# environment.
#
#
# Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y
# - Dropping test database...
# Success.
#
# - Removing privileges on test database...
# Success.
#
# Reloading the privilege tables will ensure that all changes
# made so far will take effect immediately.
#
# Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y
# Success.
#
# All done!
루트 암호를 설정하면 익명 사용자를 제거하라는 메시지가 스크립트에 표시될 것이며, 로컬 컴퓨터에 대한 루트 사용자 액세스를 제한하고 테스트 데이터베이스를 제거합니다. 모든 질문에 Y(예)로 대답해야 합니다.
MySQL 서버에 연결
터미널을 통해 MySQL과 상호 작용하려면 MySQL 서버 패키지의 종속성으로 설치된 mysql 클라이언트를 사용하십시오.
MySQL 서버에 루트 사용자 유형으로 로그인하는 기본 인증 방법을 선택한 경우 다음을 수행합니다.
sudo mysql
그렇지 않으면 로그인할 레거시 인증 방법을 선택한 경우 다음을 입력합니다.
mysql -u root -p
mysql_secure_installation 스크립트를 실행할 때 이전에 설정한 루트 암호를 입력하라는 메시지가 표시됩니다. 암호를 입력하면 아래와 같이 MySQL 셸이 표시됩니다.
# Welcome to the MySQL monitor. Commands end with ; or \g.
# Your MySQL connection id is 10
# Server version: 8.0.17 MySQL Community Server - GPL
# ...
Debian 10 서버에 MySQL 서버를 설치하고 보호하는 방법에 대해 배웠습니다. 또한 MySQL 셸에 연결하는 방법도 알려드렸습니다.
응용프로그램에 특정 요구사항이 없는 경우, Debian 10의 기본 데이터베이스 시스템인 MariaDB를 사용해야 합니다.
'SW > 리눅스' 카테고리의 다른 글
Linux : Ubuntu 18.04 : Xrdp Server (Remote Desktop) 설치 방법, 예제, 명령어 (0) | 2021.11.12 |
---|---|
Linux : Debian 10 : Apache Web Server 설치 방법, 예제, 명령어 (0) | 2021.11.11 |
Linux :Locate 명령어, 사용 방법, 예제 (0) | 2021.11.09 |
Linux : Bash : Shebang 사용 방법, 예제, 명령어 (0) | 2021.11.07 |
Git : 로컬, 원격 브랜치 생성, 나열 방법, 예제, 명령어 (0) | 2021.11.06 |