소개
이 랩에서는 가장 인기 있는 오픈 소스 관계형 데이터베이스 관리 시스템 (RDBMS) 중 하나인 MySQL 의 기본적인 구성 및 사용법을 살펴봅니다. MySQL 은 많은 데이터베이스 기반 웹 애플리케이션과 인기 웹사이트에서 널리 사용됩니다. 이 랩을 마치면 MySQL 설치를 확인하고, 초기 설정을 보호하며, MySQL 셸에 액세스하고, 시스템 데이터베이스 및 테이블을 검사하는 실질적인 경험을 얻게 될 것입니다.
이 랩에서는 가장 인기 있는 오픈 소스 관계형 데이터베이스 관리 시스템 (RDBMS) 중 하나인 MySQL 의 기본적인 구성 및 사용법을 살펴봅니다. MySQL 은 많은 데이터베이스 기반 웹 애플리케이션과 인기 웹사이트에서 널리 사용됩니다. 이 랩을 마치면 MySQL 설치를 확인하고, 초기 설정을 보호하며, MySQL 셸에 액세스하고, 시스템 데이터베이스 및 테이블을 검사하는 실질적인 경험을 얻게 될 것입니다.
편의를 위해 MySQL 이 시스템에 미리 설치되어 있습니다. 하지만 설치 과정을 이해하는 것이 중요합니다. 일반적인 Ubuntu 환경에서는 다음 명령을 사용하여 MySQL 을 설치합니다.
다음 명령은 정보 제공 목적으로만 사용됩니다. MySQL 이 이미 환경에 설치되어 있으므로 실행할 필요가 없습니다.
## DO NOT RUN THESE COMMANDS
sudo apt update
sudo apt install mysql-server -y
apt update 명령은 사용 가능한 패키지에 대한 최신 정보를 얻기 위해 패키지 목록을 업데이트합니다. apt install mysql-server -y 명령은 MySQL 서버 패키지를 설치합니다. -y 플래그는 설치 과정에서 나타날 수 있는 모든 프롬프트에 자동으로 "yes"로 응답하는 데 사용됩니다.
MySQL 설치를 확인하고 상태를 확인하는 것으로 시작해 보겠습니다.
먼저, 데스크톱의 터미널 아이콘을 클릭하여 터미널 창을 엽니다.

터미널에서 다음 명령을 실행하여 MySQL 의 상태를 확인합니다.
sudo service mysql status
이 명령은 시스템 수준의 작업에 필요한 경우가 많은 관리자 권한으로 실행하기 위해 sudo를 사용합니다. service mysql status 부분은 시스템에 MySQL 서비스의 현재 상태를 보고하도록 요청합니다.

MySQL 이 중지되었다는 출력을 볼 수 있습니다. 아직 MySQL 서비스를 시작하지 않았으므로 이는 예상된 결과입니다.
sudo service mysql start
서비스가 시작될 때까지 몇 초 동안 기다린 다음 상태 명령을 다시 실행합니다.

이제 몇 가지 기본 작업을 수행하기 위해 MySQL 셸에 액세스해 보겠습니다.
MySQL 셸에 액세스하려면 다음 명령을 사용합니다.
sudo mysql -u root
이 명령은 시스템 수준의 작업에 필요한 경우가 많은 관리자 권한으로 실행하기 위해 sudo를 사용합니다. mysql 명령은 MySQL 셸에 액세스하는 데 사용되며, -u root 플래그는 root 사용자로 연결하고 있음을 지정합니다.
LabEx VM 의 MySQL 설치가 root 사용자가 비밀번호 없이 로그인하도록 구성되어 있으므로 이 경우 비밀번호를 제공할 필요가 없습니다. 이는 개발 환경에서는 일반적이지만 프로덕션 시스템에서는 수행해서는 안 됩니다.
성공하면 환영 메시지와 MySQL 프롬프트가 표시됩니다.
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 52
Server version: 10.6.18-MariaDB-0ubuntu0.22.04.1 Ubuntu 22.04
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>
이제 SQL 명령을 실행할 수 있는 MySQL 셸에 있습니다.
MariaDB [(none)]> 프롬프트는 MariaDB(MySQL 의 포크) 에 연결되어 있으며 현재 특정 데이터베이스를 사용하고 있지 않음을 나타냅니다.
MySQL 대신 MariaDB 를 보고 있다는 점에 유의하는 것이 중요합니다. 걱정하지 마세요. 이는 이 랩을 완료하거나 MySQL 명령을 배우는 데 영향을 미치지 않습니다. 그 이유는 다음과 같습니다.
따라서 프롬프트 또는 출력에서 "MariaDB"를 보면 이 랩의 목적상 MySQL 이라고 생각할 수 있습니다. 여기서 배우는 모든 기술은 실제 시나리오에서 MariaDB 와 MySQL 모두에 직접 적용할 수 있습니다.
이제 MySQL 셸에 들어왔으므로 시스템 데이터베이스를 탐색해 보겠습니다. 이는 MySQL 과 함께 사전 설치되어 있으며 MySQL 서버 자체에 대한 중요한 정보를 포함하는 데이터베이스입니다.
MySQL 셸에서 다음 명령을 실행합니다.
SHOW DATABASES;
참고: 명령 끝에 세미콜론 (
;) 을 잊지 마세요. SQL 명령은 세미콜론으로 끝나야 합니다.

이 명령은 MySQL 서버에 있는 모든 데이터베이스를 나열합니다. 다음과 유사한 출력을 볼 수 있습니다.
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.00 sec)
이러한 데이터베이스가 무엇인지 자세히 살펴보겠습니다.
information_schema: 데이터베이스 메타데이터에 액세스할 수 있는 데이터베이스입니다.mysql: 이 데이터베이스에는 MySQL 서버가 작동하는 데 필요한 정보가 포함되어 있습니다.performance_schema: 이 데이터베이스는 런타임에 서버의 내부 실행을 검사하는 방법을 제공합니다.sys: 이 데이터베이스에는 DBA 및 개발자가 performance_schema 에서 수집한 데이터를 해석하는 데 도움이 되는 일련의 객체가 포함되어 있습니다.이 랩에서는 mysql 데이터베이스에 집중하겠습니다. 해당 데이터베이스로 전환해 보겠습니다.
USE mysql;
이제 이 데이터베이스에 어떤 테이블이 있는지 살펴보겠습니다.
SHOW TABLES;
긴 테이블 목록이 표시됩니다. 이러한 테이블은 MySQL 에 대한 다양한 구성 및 운영 데이터를 저장합니다.
이제 시스템 테이블을 살펴보았으니, 그중 하나의 데이터를 검사해 보겠습니다. mysql 데이터베이스의 user 테이블에는 MySQL 사용자 계정에 대한 정보가 포함되어 있습니다.
user 테이블의 구조를 보려면 다음 명령을 실행하세요:
DESCRIBE user;
이 명령은 user 테이블의 모든 열을 보여줍니다. 이 테이블에는 각 MySQL 사용자에 대한 자세한 정보가 포함되어 있으므로 많은 열을 볼 수 있습니다.
이제 이 테이블의 일부 데이터를 살펴보겠습니다. 몇 가지 주요 열에 초점을 맞추겠습니다:
SELECT User, Host, Password_expired FROM user;
이 쿼리는 user 테이블에서 세 가지 중요한 열을 선택합니다:
User: MySQL 계정의 사용자 이름Host: 이 사용자가 연결을 허용받은 호스트Password_expired: 비밀번호가 만료되었는지 여부다음과 유사한 출력을 볼 수 있습니다:
+-------------+-----------+------------------+
| User | Host | password_expired |
+-------------+-----------+------------------+
| mariadb.sys | localhost | Y |
| root | localhost | N |
| mysql | localhost | N |
+-------------+-----------+------------------+
3 rows in set (0.001 sec)
이 출력은 시스템에 존재하는 MySQL 사용자 계정을 보여줍니다. root 사용자는 주요 관리 계정이며, 다른 계정은 MySQL 이 다양한 목적으로 사용하는 시스템 계정입니다.
MySQL 셸을 종료하려면 다음을 입력하세요:
EXIT;
그러면 일반 터미널 프롬프트로 돌아갑니다.
이번 실습에서는 LabEx VM 에서 MySQL 을 다루는 필수 단계를 살펴보았습니다. MySQL 설치를 확인하고, 초기 설정을 보안했으며, MySQL 셸에 접속하고, 시스템 데이터베이스를 탐색했으며, 시스템 테이블의 데이터를 검토했습니다.
다음과 같은 방법을 배웠습니다.
이러한 기본적인 기술은 더 고급 데이터베이스 관리 작업을 위한 기초를 형성합니다. MySQL 을 계속 사용하면서 이러한 기본 사항을 바탕으로 자체 데이터베이스를 생성하고, 정교한 쿼리를 작성하며, MySQL 을 다양한 애플리케이션과 통합하게 될 것입니다. 데이터베이스 관리 숙달의 핵심은 연습이라는 점을 기억하고, 다양한 명령어를 실험하고 MySQL 의 기능을 더 탐색하는 것을 망설이지 마십시오.