
CentOS 8에 MySQL 설치 방법
소개
MySQL는 일반적으로 유행하는 LEMP(Linux, Nginx, MySQL/MariadB, PHP/Python/Perl) 창고의 일부로 설치되는 소스 데이터베이스 관리 시스템이다.그것은 relational model 및 Structured Query Language (SQL) 을 실현하여 데이터를 관리하고 조회한다.
이 강좌에서는 CentOS 8 서버에 MySQL 버전 8을 설치하는 방법에 대해 설명합니다.
선결 조건
이 자습서를 완성하려면 CentOS 8을 실행하는 서버가 필요합니다.이 서버는 관리 권한이 있는 비root 사용자와
firewalld
설정된 방화벽을 가지고 있어야 합니다.이 항목을 설정하려면 우리Initial Server Setup guide for CentOS 8를 참조하십시오.1단계 - MySQL 설치
CentOS 8의 MySQL 버전 8은 기본 저장소에서 사용할 수 있습니다.
다음 명령을 실행하여 패키지 및 여러 종속성을 설치합니다.
- sudo dnf install mysql-server
프롬프트가 나타나면 mysql-server
를 누른 다음 y
을 눌러 계속할 것인지 확인합니다.Output. . .
Install 49 Packages
Total download size: 46 M
Installed size: 252 M
Is this ok [y/N]: y
이렇게 하면 서버에 MySQL이 설치되어 있지만 실행할 수 없습니다.방금 설치한 패키지는 MySQL을 ENTER
라는 서비스로 실행하도록 구성합니다.ySQL을 사용하려면 systemd
명령을 사용하여 시작해야 합니다.- sudo systemctl start mysqld.service
서비스가 제대로 작동하는지 확인하려면 다음 명령을 실행하십시오.mysqld.service
및 systemctl
명령을 포함한 많은 systemctl
명령에 대해 그림과 같이 서비스 이름 뒤에 포함할 필요가 없습니다start
.- sudo systemctl status mysqld
MySQL이 성공적으로 시작되면 출력은 MySQL 서비스가 활성 상태임을 나타냅니다.Output● mysqld.service - MySQL 8.0 database server
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
Active: active (running) since Thu 2020-03-12 14:07:41 UTC; 1min 7s ago
Main PID: 15723 (mysqld)
Status: "Server is operational"
Tasks: 38 (limit: 5056)
Memory: 474.2M
CGroup: /system.slice/mysqld.service
└─15723 /usr/libexec/mysqld --basedir=/usr
Mar 12 14:07:32 cent-mysql-3 systemd[1]: Starting MySQL 8.0 database server...
Mar 12 14:07:32 cent-mysql-3 mysql-prepare-db-dir[15639]: Initializing MySQL database
Mar 12 14:07:41 cent-mysql-3 systemd[1]: Started MySQL 8.0 database server.
다음 명령을 사용하여 MySQL을 서버가 시작될 때 시작하도록 설정합니다.- sudo systemctl enable mysqld
참고 이 비헤이비어를 변경하고 시작할 때 MySQL을 시작하지 못하게 하려면 다음을 수행하십시오.- sudo systemctl disable mysqld
이제 MySQL이 서버에 설치, 실행 및 활성화되었습니다.다음은 MySQL 실례에 미리 설치된 셸 스크립트를 사용하여 데이터베이스의 안전성을 강화하는 방법을 토론할 것입니다.2단계 - MySQL 보호
MySQL에는 MySQL의 보안을 높이기 위해 기본 구성 옵션을 변경할 수 있는 보안 스크립트가 포함되어 있습니다.
보안 스크립트를 사용하려면 다음 명령을 실행합니다.
- sudo mysql_secure_installation
그러면 MySQL 설치에 대한 보안 옵션을 변경할 것인지 묻는 일련의 메시지가 표시됩니다.첫 번째 프롬프트에서는 MySQL 암호의 강도를 측정할 수 있는 인증 암호 플러그인을 설정할지 묻는 메시지가 표시됩니다.인증 암호 설정 플러그인을 선택하면 스크립트에서 암호 인증 수준을 선택해야 합니다.입력
status
을 통해 선택된 최대 수준의 암호는 대문자, 소문자, 숫자 및 특수 문자를 포함하는 최소 8자여야 합니다.OutputSecuring 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: Y
There are three levels of password validation policy:
LOW Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary file
Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 2
인증 암호 설정 플러그인을 선택하든 말든 다음 프롬프트는 MySQL 루트 사용자를 위한 암호를 설정하는 것입니다.선택한 보안 암호를 입력하고 확인합니다.OutputPlease set the password for root here.
New password:
Re-enter new password:
인증 암호 플러그인을 사용하면 새 암호 강도에 대한 피드백을 받을 수 있습니다.그리고 스크립트는 방금 입력한 비밀번호를 계속 사용하거나 새 비밀번호를 입력하는지 물어볼 것입니다.방금 입력한 암호의 강도에 만족하는 경우 .service
를 입력하여 스크립트를 계속합니다.OutputEstimated strength of the password: 100
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : Y
그리고 2
를 누르고 Y
를 누르면 모든 후속 문제의 기본 설정을 받아들일 수 있습니다.이것은 일부 익명 사용자와 테스트 데이터베이스를 삭제하고 원격 루트 로그인을 사용하지 않으며 MySQL이 변경 사항을 즉시 존중할 수 있도록 새 규칙을 불러옵니다.이로써 CentOS 8 서버에 MySQL을 설치하고 보호했습니다.마지막 단계로 우리는 데이터베이스에 접근할 수 있는지 테스트하고 예상대로 작업할 것이다.
3단계 - MySQL 테스트
연결
Y
도구를 통해 설치를 검증하고 설치에 대한 정보를 얻을 수 있습니다. 이 도구는 관리 명령을 실행할 수 있는 클라이언트입니다.다음 명령을 사용하여 루트 ENTER
로 MySQL에 연결하고 암호 mysqladmin
를 입력하고 설치 버전으로 돌아갑니다.- mysqladmin -u root -p version
다음과 같은 출력이 표시됩니다.출력
mysqladmin Ver 8.0.17 for Linux on x86_64 (Source distribution)
Copyright (c) 2000, 2019, 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.
Server version 8.0.17
Protocol version 10
Connection Localhost via UNIX socket
UNIX socket /var/lib/mysql/mysql.sock
Uptime: 2 hours 52 min 37 sec
Threads: 2 Questions: 20 Slow queries: 0 Opens: 131 Flush tables: 3 Open tables: 48 Queries per second avg: 0.001
이것은 설치가 성공했음을 나타냅니다.ySQL에 연결하고 데이터 추가를 시작하려면 다음과 같이 하십시오.
- mysql -u root -p
앞의 -u root
명령과 마찬가지로 이 명령에는 -p
옵션이 포함되어 있습니다. 이 옵션은 연결할 사용자 (이 예에서 루트 사용자) 와 mysqladmin
옵션을 지정할 수 있습니다. 이 옵션은 명령에 이전 단계에서 설정한 사용자 비밀번호를 입력하라는 메시지를 알려 줍니다.루트 MySQL 사용자의 암호를 입력하면 MySQL 프롬프트가 표시됩니다.
-
여기서 MySQL 설치를 사용하여 데이터베이스를 만들고 로드하고 질의를 실행할 수 있습니다.결론
이 강좌에 따라 CentOS 8 서버에 MySQL을 설치하고 보호했습니다.여기에서 Nginx와 PHP를 설치하여 서버에 완전한 조작이 가능하도록 할 수 있습니다LEMP stack.
MySQL 사용에 대한 자세한 내용을 보려면 official documentation 을 참조하십시오.