웹사이트 검색

Ubuntu 14.04에 MySQL을 설치하는 방법


소개

LAMP(Linux, Apache, MySQL, PHP/Python/Perl) 스택. 관계형 데이터베이스와 SQL(Structured Query Language)을 사용하여 데이터를 관리합니다.

짧은 버전의 설치는 간단합니다. 패키지 인덱스를 업데이트하고 mysql-server 패키지를 설치한 다음 포함된 보안 및 데이터베이스 초기화 스크립트를 실행합니다.

  1. sudo apt-get update
  2. sudo apt-get install mysql-server
  3. sudo mysql_secure_installation
  4. sudo mysql_install_db

이 튜토리얼에서는 Ubuntu 14.04 서버에 MySQL 버전 5.5, 5.6 또는 5.7을 설치하는 방법을 설명합니다. 이 설치 지침에 대한 자세한 내용이 필요하거나 특정 버전의 MySQL을 설치하려는 경우 계속 읽으십시오. 그러나 기존 MySQL 설치를 버전 5.7로 업데이트하려는 경우 대신 이 MySQL 5.7 업데이트 가이드를 읽을 수 있습니다.

전제 조건

이 자습서를 따르려면 다음이 필요합니다.

  • 루트가 아닌 sudo 사용자가 있는 Ubuntu 14.04 Droplet 1개.

1단계 - MySQL 설치

MySQL을 설치하는 방법에는 두 가지가 있습니다. 기본적으로 APT 패키지 리포지토리에 포함된 버전(5.5 및 5.6) 중 하나를 사용하거나 먼저 수동으로 MySQL 리포지토리를 추가하여 최신 버전(현재 5.7)을 설치할 수 있습니다.

특정 버전의 MySQL을 설치하려면 아래의 해당 섹션을 따르십시오. 자신에게 가장 적합한 버전을 결정하는 데 도움이 되도록 MySQL 5.7의 새로운 기능을 읽을 수 있습니다.

확실하지 않은 경우 Linux 배포용 최신 버전을 설치하는 mysql-server APT 패키지를 사용할 수 있습니다. 작성 당시에는 5.5이지만 나중에 언제든지 다른 버전으로 업데이트할 수 있습니다.

이 방법으로 MySQL을 설치하려면 서버에서 패키지 인덱스를 업데이트하고 apt-get을 사용하여 패키지를 설치합니다.

  1. sudo apt-get update
  2. sudo apt-get install mysql-server

설치 중에 루트 암호를 생성하라는 메시지가 표시됩니다. 안전한 것을 선택하고 나중에 필요하므로 기억해두십시오. 여기에서 2단계로 이동합니다.

MySQL 5.5 또는 5.6 설치

특히 MySQL 5.5 또는 5.6을 설치하려는 경우 프로세스는 여전히 매우 간단합니다. 먼저 서버에서 패키지 색인을 업데이트합니다.

  1. sudo apt-get update

그런 다음 MySQL 5.5를 설치하려면 mysql-server-5.5 패키지를 설치합니다.

  1. sudo apt-get install mysql-server-5.5

MySQL 5.6을 설치하려면 대신 mysql-server-5.6 패키지를 설치하십시오.

  1. sudo apt-get install mysql-server-5.6

두 옵션 모두 설치 중에 루트 암호를 생성하라는 메시지가 표시됩니다. 안전한 것을 선택하고 나중에 필요하므로 기억해두십시오.

MySQL 5.7 설치

MySQL 5.7을 설치하려면 MySQL APT 리포지토리 페이지에서 최신 APT 패키지 리포지토리를 추가해야 합니다. 오른쪽 하단에 있는 다운로드를 클릭한 다음 아니요, 괜찮습니다. 다운로드를 시작합니다.에서 다음 페이지의 링크를 복사합니다. .deb 패키지를 서버에 다운로드합니다.

  1. wget http://dev.mysql.com/get/mysql-apt-config_0.6.0-1_all.deb

다음으로 dpkg를 사용하여 설치합니다.

  1. sudo dpkg -i mysql-apt-config_0.6.0-1_all.deb

어떤 MySQL 제품을 구성할지 묻는 메시지가 표시됩니다. 강조 표시된 MySQL 서버 옵션은 mysql-5.7이어야 합니다. 그렇지 않으면 ENTER를 누른 다음 화살표 키를 사용하여 mysql-5.7까지 아래로 스크롤하고 ENTER를 다시 누릅니다.

옵션에 mysql-5.7이 표시되면 기본 메뉴에서 아래로 스크롤하여 적용하고 ENTER를 다시 누릅니다. 이제 패키지 색인을 업데이트하십시오.

  1. sudo apt-get update

마지막으로 MySQL 5.7이 포함된 mysql-server 패키지를 설치합니다.

  1. sudo apt-get install mysql-server

설치 중에 루트 암호를 생성하라는 메시지가 표시됩니다. 안전한 것을 선택하고 나중에 필요하므로 기억해두십시오.

2단계 - MySQL 구성

먼저 포함된 보안 스크립트를 실행해야 합니다. 이렇게 하면 원격 루트 로그인 및 샘플 사용자와 같은 보안 수준이 낮은 일부 기본 옵션이 변경됩니다.

  1. sudo mysql_secure_installation

그러면 1단계에서 만든 루트 암호를 입력하라는 메시지가 표시됩니다. ENTER를 눌러 루트 암호를 변경할 것인지 묻는 질문을 제외한 모든 후속 질문에 대해 기본값을 수락할 수 있습니다. 1단계에서 설정했으므로 지금 변경할 필요가 없습니다.

다음으로 MySQL이 데이터를 저장하는 MySQL 데이터 디렉터리를 초기화합니다. 이를 수행하는 방법은 실행 중인 MySQL 버전에 따라 다릅니다. 다음 명령으로 MySQL 버전을 확인할 수 있습니다.

  1. mysql --version

다음과 같은 출력이 표시됩니다.

mysql  Ver 14.14 Distrib 5.7.11, for Linux (x86_64) using  EditLine wrapper

MySQL 5.7.6 이전 버전을 사용하는 경우 mysql_install_db를 실행하여 데이터 디렉터리를 초기화해야 합니다.

  1. sudo mysql_install_db

참고: MySQL 5.6에서는 FATAL ERROR: Could not find my-default.cnf라는 오류가 표시될 수 있습니다. 그렇다면 /usr/share/my.cnf 구성 파일을 mysql_install_db가 예상하는 위치에 복사한 다음 다시 실행하십시오.

  1. sudo cp /etc/mysql/my.cnf /usr/share/mysql/my-default.cnf
  2. sudo mysql_install_db

이는 MySQL 5.6의 일부 변경 사항과 APT 패키지의 사소한 오류 때문입니다.

mysql_install_db 명령은 MySQL 5.7.6부터 더 이상 사용되지 않습니다. 버전 5.7.6 이상을 사용하는 경우 mysqld --initialize를 대신 사용해야 합니다.

하지만 Debian 배포판에서 버전 5.7을 설치했다면 1단계와 같이 데이터 디렉터리가 자동으로 초기화되었으므로 아무 작업도 수행할 필요가 없습니다. 그래도 명령을 실행하려고 하면 다음 오류가 표시됩니다.

2016-03-07T20:11:15.998193Z 0 [ERROR] --initialize specified but the data directory has files in it. Aborting.

3단계 - MySQL 테스트

설치 방법에 관계없이 MySQL은 자동으로 실행되기 시작해야 합니다. 이를 테스트하려면 상태를 확인하십시오.

  1. service mysql status

다음 출력이 표시됩니다(다른 PID 사용).

mysql start/running, process 2689

MySQL이 실행되고 있지 않으면 sudo service mysql start로 시작할 수 있습니다.

추가 확인을 위해 관리 명령을 실행할 수 있는 클라이언트인 mysqladmin 도구를 사용하여 데이터베이스에 연결을 시도할 수 있습니다. 예를 들어 이 명령은 MySQL에 루트(-u root)로 연결하고 암호를 묻는 메시지를 표시하고(-p) 버전을 반환하도록 지시합니다.

  1. mysqladmin -p -u root version

다음과 유사한 출력이 표시되어야 합니다.

mysqladmin  Ver 8.42 Distrib 5.5.47, for debian-linux-gnu on x86_64
Copyright (c) 2000, 2015, 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.5.47-0ubuntu0.14.04.1
Protocol version	10
Connection		Localhost via UNIX socket
UNIX socket		/var/run/mysqld/mysqld.sock
Uptime:			4 min 15 sec

Threads: 1  Questions: 602  Slow queries: 0  Opens: 189  Flush tables: 1  Open tables: 41  Queries per second avg: 2.360

이것은 MySQL이 실행 중임을 의미합니다.

결론

이제 서버에 기본 MySQL 설정이 설치되었습니다. 다음은 수행할 수 있는 다음 단계의 몇 가지 예입니다.

  • 일부 추가 보안 조치 구현
  • Percona XtraBackup으로 핫 백업 생성
  • Ruby on Rails 애플리케이션에서 MySQL을 사용하는 방법 알아보기
  • SaltStack으로 MySQL 서버 관리