웹사이트 검색

Ubuntu 16.04에 최신 MySQL을 설치하는 방법


소개

MySQL은 널리 사용되는 다양한 응용 프로그램의 데이터를 저장하고 검색하는 데 사용되는 탁월한 오픈 소스 데이터베이스 관리 시스템입니다. MySQL은 Linux, Apache 웹 서버 및 PHP 프로그래밍 언어를 포함하는 일반적으로 사용되는 오픈 소스 소프트웨어 집합인 LAMP 스택의 M입니다.

새로 릴리스된 기능을 사용하려면 Linux 배포판에서 제공하는 것보다 더 최신 버전의 MySQL을 설치해야 하는 경우가 있습니다. 편리하게도 MySQL 개발자는 최신 버전을 쉽게 설치하고 최신 상태로 유지하는 데 사용할 수 있는 자체 소프트웨어 저장소를 유지 관리합니다.

최신 버전의 MySQL을 설치하기 위해 이 리포지토리를 추가하고, MySQL 소프트웨어 자체를 설치하고, 설치를 보호하고, 마지막으로 MySQL이 실행되고 명령에 응답하는지 테스트합니다.

전제 조건

이 튜토리얼을 시작하기 전에 다음이 필요합니다.

  • 이 Ubuntu 16.04 서버 설정 자습서에 설명된 대로 루트가 아닌 sudo 사용 사용자가 있는 Ubuntu 16.04 서버.

1단계 - MySQL 소프트웨어 리포지토리 추가

MySQL 개발자는 공식 MySQL 소프트웨어 리포지토리 구성 및 설치를 처리하는 .deb 패키지를 제공합니다. 리포지토리가 설정되면 Ubuntu의 표준 apt-get 명령을 사용하여 소프트웨어를 설치할 수 있습니다. curl로 이 .deb 파일을 다운로드한 다음 dpkg 명령으로 설치합니다.

먼저 웹 브라우저에서 MySQL 다운로드 페이지를 로드합니다. 오른쪽 하단 모서리에서 다운로드 버튼을 찾아 클릭하여 다음 페이지로 이동합니다. 이 페이지는 Oracle 웹 계정에 로그인하거나 등록하라는 메시지를 표시합니다. 건너뛰고 대신 No thanks, just start my download라는 링크를 찾을 수 있습니다. 링크를 마우스 오른쪽 버튼으로 클릭하고 링크 주소 복사를 선택합니다(이 옵션은 브라우저에 따라 다르게 표현될 수 있음).

이제 파일을 다운로드 하겠습니다. 서버에서 쓸 수 있는 디렉토리로 이동합니다.

  1. cd /tmp

curl을 사용하여 파일을 다운로드합니다. 아래 강조 표시된 부분 대신 방금 복사한 주소를 붙여넣어야 합니다.

  1. curl -OL https://dev.mysql.com/get/mysql-apt-config_0.8.3-1_all.deb

두 개의 명령줄 플래그를 curl에 전달해야 합니다. -Ocurl이 표준 출력 대신 파일로 출력하도록 지시합니다. L 플래그는 curl이 HTTP 리디렉션을 따르도록 합니다. 이 경우 복사한 주소가 실제로 파일을 다운로드하기 전에 다른 위치로 리디렉션하기 때문에 필요합니다.

이제 파일이 현재 디렉터리에 다운로드됩니다. 다음을 확인하기 위해 파일을 나열합니다.

  1. ls

나열된 파일 이름을 확인해야 합니다.

Output
mysql-apt-config_0.8.3-1_all.deb . . .

이제 설치할 준비가 되었습니다.

  1. sudo dpkg -i mysql-apt-config*

dpkg.deb 소프트웨어 패키지를 설치, 제거 및 검사하는 데 사용됩니다. -i 플래그는 지정된 파일에서 설치하려고 함을 나타냅니다.

설치하는 동안 다른 MySQL 관련 도구에 대한 리포지토리를 설치하는 옵션과 함께 원하는 MySQL 버전을 지정할 수 있는 구성 화면이 표시됩니다. 기본값은 MySQL의 최신 안정 버전에 대한 리포지토리 정보만 추가합니다. 이것이 우리가 원하는 것이므로 아래쪽 화살표를 사용하여 Ok 메뉴 옵션으로 이동하고 ENTER를 누르십시오.

이제 패키지가 리포지토리 추가를 완료합니다. 새 소프트웨어 패키지를 사용할 수 있도록 apt 패키지 캐시를 새로 고칩니다.

  1. sudo apt-get update

또한 직접 정리하고 다운로드한 파일을 삭제하겠습니다.

  1. rm mysql-apt-config*

이제 MySQL 리포지토리를 추가했으므로 실제 MySQL 서버 소프트웨어를 설치할 준비가 되었습니다. 이러한 리포지토리의 구성을 업데이트해야 하는 경우 sudo dpkg-reconfigure mysql-apt-config를 실행하고 새 옵션을 선택한 다음 sudo apt-get update를 실행하면 됩니다. 패키지 캐시를 새로 고칩니다.

2단계 - MySQL 설치

리포지토리를 추가하고 패키지 캐시를 새로 업데이트했으므로 이제 apt-get을 사용하여 최신 MySQL 서버 패키지를 설치할 수 있습니다.

  1. sudo apt-get install mysql-server

apt-get은 사용 가능한 모든 mysql-server 패키지를 살펴보고 MySQL 제공 패키지가 가장 최신의 최상의 후보인지 결정합니다. 그런 다음 패키지 종속성을 계산하고 설치 승인을 요청합니다. y를 입력한 다음 ENTER를 입력합니다. 소프트웨어가 설치됩니다. 설치의 구성 단계에서 루트 암호를 설정하라는 메시지가 표시됩니다. 보안 암호를 선택하고 두 번 입력하면 프로세스가 완료됩니다.

지금 MySQL을 설치하고 실행해야 합니다. systemctl을 사용하여 확인합시다:

  1. systemctl status mysql
Output
● mysql.service - MySQL Community Server Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2017-04-05 19:28:37 UTC; 3min 42s ago Main PID: 8760 (mysqld) CGroup: /system.slice/mysql.service └─8760 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid

Active: 활성(실행 중) 행은 MySQL이 설치되어 실행 중임을 의미합니다. 이제 우리는 설치를 좀 더 안전하게 만들 것입니다.

3단계 - MySQL 보안

MySQL은 새 설치에서 몇 가지 보안 관련 업데이트를 수행하는 데 사용할 수 있는 명령과 함께 제공됩니다. 지금 실행해 보겠습니다.

  1. mysql_secure_installation

그러면 설치 중에 설정한 MySQL 루트 비밀번호를 묻습니다. 입력하고 ENTER를 누르십시오. 이제 우리는 일련의 예 또는 아니오 프롬프트에 답할 것입니다. 살펴보겠습니다.

먼저, MySQL 사용자를 위해 특정 암호 강도 규칙을 자동으로 적용할 수 있는 플러그인인 암호 유효성 검사 플러그인에 대한 질문을 받습니다. 이를 활성화하는 것은 개별 보안 요구 사항에 따라 결정해야 합니다. yENTER를 입력하여 활성화하거나 ENTER를 눌러 건너뜁니다. 활성화된 경우 암호 유효성 검사가 얼마나 엄격한지 0-2 수준을 선택하라는 메시지도 표시됩니다. 숫자를 선택하고 ENTER를 눌러 계속하십시오.

다음으로 루트 암호를 변경할 것인지 묻는 메시지가 나타납니다. MySQL을 설치할 때 암호를 만들었기 때문에 안전하게 건너뛸 수 있습니다. 암호를 업데이트하지 않고 계속하려면 ENTER를 누르십시오.

나머지 프롬프트는 예라고 대답할 수 있습니다. 익명의 MySQL 사용자 제거, 원격 루트 로그인 금지, 테스트 데이터베이스 제거, 이전 변경 사항이 제대로 적용되도록 권한 테이블 다시 로드에 대한 질문을 받게 됩니다. 이것들은 모두 좋은 생각입니다. 각각에 대해 y를 입력하고 ENTER를 누르십시오.

모든 프롬프트에 응답한 후 스크립트가 종료됩니다. 이제 우리의 MySQL 설치는 상당히 안전합니다. 서버에 연결하고 일부 정보를 반환하는 클라이언트를 실행하여 다시 테스트해 보겠습니다.

4단계 – MySQL 테스트

mysqladmin은 MySQL용 명령줄 관리 클라이언트입니다. 이를 사용하여 서버에 연결하고 일부 버전 및 상태 정보를 출력합니다.

  1. mysqladmin -u root -p version

-u root 부분은 mysqladmin에게 MySQL 루트 사용자로 로그인하도록 지시하고, -p는 클라이언트에게 암호를 요청하도록 지시하고 <version은 실행하려는 실제 명령입니다.

출력은 실행 중인 MySQL 서버의 버전, 가동 시간 및 기타 상태 정보를 알려줍니다.

Output
mysqladmin Ver 8.42 Distrib 5.7.17, for Linux on x86_64 Copyright (c) 2000, 2016, 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 5.7.17 Protocol version 10 Connection Localhost via UNIX socket UNIX socket /var/run/mysqld/mysqld.sock Uptime: 58 min 28 sec Threads: 1 Questions: 10 Slow queries: 0 Opens: 113 Flush tables: 1 Open tables: 106 Queries per second avg: 0.002

비슷한 출력을 받았다면 축하합니다! 최신 MySQL 서버를 성공적으로 설치하고 보호했습니다.

결론

이제 널리 사용되는 많은 애플리케이션에서 작동할 최신 버전의 MySQL 기본 설치를 완료했습니다. 고급 요구 사항이 있는 경우 다른 구성 작업을 계속할 수 있습니다.

  • MySQL 서버 관리를 위한 그래픽 인터페이스가 필요한 경우 널리 사용되는 웹 기반 솔루션인 phpMyAdmin이 있습니다. phpMyAdmin을 설치하고 보호하는 방법 튜토리얼을 통해 시작할 수 있습니다.
  • 현재 데이터베이스는 동일한 서버에서 실행되는 애플리케이션에서만 액세스할 수 있습니다. 때로는 성능 및 스토리지상의 이유로 별도의 데이터베이스와 애플리케이션 서버가 필요할 수 있습니다. MySQL용 SSL/TLS 구성 방법을 살펴보고 다른 서버에서 안전하게 액세스할 수 있도록 MySQL을 설정하는 방법을 알아보세요.
  • 또 다른 일반적인 구성은 MySQL이 데이터를 저장하는 디렉토리를 변경하는 것입니다. 데이터를 기본 디렉터리가 아닌 다른 저장 장치에 저장하려면 이 작업을 수행해야 합니다. 이에 대해서는 MySQL 데이터 디렉토리를 새 위치로 이동하는 방법에서 다룹니다.