Debian 9 MySQL이 출시됨에 따라 세계에서 가장 널리 사용되는 오픈 소스 관계형 데이터베이스 관리 시스템은 Debian의 리포지토리에서 더 이상 사용할 수 없으며 MariaDB는 기본 데이터베이스 시스템이 되었습니다. MariaDB는 MySQL의 이전 버전과 호환되는 바이너리 드롭인 대체품입니다.
이 튜토리얼에서는 MySQL Apt Repository의 Debian 9 시스템에 MySQL을 설치하고 보호하는 방법을 보여드리겠습니다. 응용 프로그램에 특정 요구 사항이 없는 경우 Debian 9의 기본 데이터베이스 시스템인 MariaDB를 사용해야 합니다.
필수 구성 요소
이 튜토리얼을 계속하기 전에 sudo 권한을 가진 사용자로 로그인했는지 확인합니다.
1단계: MySQL Repository 구성
MySQL APT 저장소를 시스템에 추가하려면 리포지토리 다운로드 페이지로 이동하여 다음 wget 명령을 사용하여 최신 릴리스 패키지를 다운로드합니다.
wget http://repo.mysql.com/mysql-apt-config_0.8.10-1_all.deb
다운로드가 완료되면 다음 명령을 사용하여 릴리스 패키지를 설치합니다.
sudo apt install ./mysql-apt-config_0.8.10-1_all.deb
설치할 MySQL 버전을 선택할 수 있는 구성 메뉴가 표시됩니다.
MySQL 8.0이 미리 선택되어 있습니다. 다른 버전의 MySQL을 설치하려면 MySQL Server & Cluster(현재 선택됨: Mysql-8.0)를 선택하고 원하는 MySQL 버전을 선택하십시오.
MySQL 버전 8.0을 설치합니다. 마지막 옵션 OK(확인)를 선택하고 Enter(위 이미지)를 눌러 구성을 저장합니다.
이 기사를 작성할 때 최신 버전의 MySQL은 버전 8.0입니다. 어떤 버전을 선택해야 할지 잘 모를 경우 서버에 배포할 응용프로그램의 설명서를 참조합니다.
2단계: MySQL 설치
Debian 9 서버에 MySQL을 설치하기 전에 먼저 다음을 사용하여 패키지 목록을 업데이트합니다.
sudo apt update
패키지 목록이 업데이트되면 다음 명령을 실행하여 Debian 서버에 MySQL을 설치합니다.
sudo apt install mysql-server
설치 관리자가 MySQL 루트 암호를 설정할지 묻습니다. 지금 암호를 설정하지 마십시오(공백으로 둠). 다음 섹션에서 암호를 설정합니다.
그런 다음 새로운 MySQL 8 인증에 대해 알리는 메시지가 표시됩니다. 기본 MySQL 8 인증 플러그인을 선택하기 전에 응용 프로그램에서 지원되는지 확인합니다.
3단계: MySQL 설치 확인
설치가 완료되면 MySQL 서비스가 자동으로 시작됩니다.
다음을 입력하여 MySQL 서비스 상태를 확인할 수 있습니다.
sudo systemctl status mysql
# ● mysql.service - MySQL Community Server
# Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset:
# Active: active (running) since Thu 2018-08-02 17:22:18 UTC; 18s ago
# Docs: man:mysqld(8)
# http://dev.mysql.com/doc/refman/en/using-systemd.html
# Process: 14797 ExecStartPre=/usr/share/mysql-8.0/mysql-systemd-start pre (co
# Main PID: 14832 (mysqld)
# Status: "SERVER_OPERATING"
# Tasks: 37 (limit: 4915)
# CGroup: /system.slice/mysql.service
# └─14832 /usr/sbin/mysqld
4단계: 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 사용자 암호의 강도를 테스트하는 데 사용되는 PASSWORDECT PUGING을 구성하라는 메시지가 표시됩니다. 암호 유효성 검사 정책에는 낮음, 중간 및 높음 세 가지 수준이 있습니다. 암호 유효성 검사 플러그인을 설정하지 않으려면 ENTER를 누릅니다.
# Please set the password for root here.
#
# New password:
#
# Re-enter new password:
다음 프롬프트에서 MySQL 루트 사용자의 암호를 설정하라는 메시지가 표시됩니다.
# 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"(예)라고 대답해야 합니다.
5단계: 명령줄에서 MySQL 연결
터미널을 통해 MySQL과 상호 작용하기 위해 MySQL 서버 패키지의 종속성으로 설치된 MySQL 클라이언트를 사용합니다.
MySQL 서버에 루트 사용자 유형으로 로그인하려면 다음을 수행합니다.
mysql -u root -p
mysql_secure_installation 스크립트를 실행할 때 이전에 설정한 루트 암호를 입력하라는 메시지가 표시됩니다.
# Welcome to the MySQL monitor. Commands end with ; or \g.
# Your MySQL connection id is 10
# Server version: 8.0.12 MySQL Community Server - GPL
#
# 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.
#
# mysql>
데이터베이스 생성
MySQL 셸에 연결되면 다음 명령을 입력하여 새 데이터베이스를 생성할 수 있습니다.
CREATE DATABASE new_database;
# Query OK, 1 row affected (0.00 sec)
테이블 생성
이제 데이터베이스를 만들었으므로 테이블을 만들어 일부 데이터를 저장할 수 있습니다.
테이블을 만들기 위해 SQL 문을 실행하기 전에 데이터베이스에 연결해야 합니다.
use new_database;
이 예에서는 ID, 이름 및 전자 메일의 세 가지 필드를 사용하여 연락처라는 간단한 테이블을 만듭니다.
CREATE TABLE contacts (
id INT PRIMARY KEY,
name VARCHAR(30),
email VARCHAR(30)
);
# Query OK, 1 row affected (0.00 sec)
'SW > 리눅스' 카테고리의 다른 글
Ubuntu 18.04 : Eclipse IDE 설치하는 방법, 예제, 명령어 (0) | 2020.12.05 |
---|---|
CentOS 7 : MongoDB를 설치하는 방법, 예제, 명령어 (0) | 2020.12.03 |
Debian 9 : Go 설치하는 방법, 예제, 명령어 (0) | 2020.12.01 |
Ubuntu 18.04 : MariaDB 설치하는 방법, 예제, 명령어 (0) | 2020.11.30 |
Debian 9 : 도커 설치, 사용하는 방법, 예제, 명령어 (0) | 2020.11.29 |