기술나눔

MySQL 공통 기능

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

널리 사용되는 관계형 데이터베이스 관리 시스템인 MySQL은 다양한 유형의 애플리케이션을 지원하는 풍부한 기능을 제공합니다. 다음은 MySQL의 몇 가지 일반적인 기능입니다.

데이터베이스 관리

1. 데이터베이스와 테이블을 생성하고 관리합니다.

MySQL은 데이터베이스와 해당 테이블을 생성, 수정 및 삭제할 수 있는 유연한 SQL 문을 제공합니다.

CREATE DATABASE mydatabase;
CREATE TABLE mytable (id INT PRIMARY KEY, name VARCHAR(50));
  • 1
  • 2

2. 데이터 삽입, 업데이트 및 삭제:

데이터 조작에는 표준 SQL 문을 사용합니다.

INSERT INTO mytable (id, name) VALUES (1, 'Alice');
UPDATE mytable SET name = 'Bob' WHERE id = 1;
DELETE FROM mytable WHERE id = 1;
  • 1
  • 2
  • 3

3. 데이터 쿼리:

복잡한 JOIN, 하위 쿼리, 정렬 및 그룹화를 포함한 SELECT 문을 통한 데이터 검색.

SELECT * FROM mytable WHERE name = 'Alice';
SELECT name, COUNT(*) FROM mytable GROUP BY name;
  • 1
  • 2

보안 및 권한

1. 사용자 관리 및 권한 제어:

MySQL은 세분화된 권한 제어를 제공하므로 관리자는 서로 다른 사용자에게 서로 다른 권한을 할당할 수 있습니다.

CREATE USER 'user1'@'localhost' IDENTIFIED BY 'password';
GRANT SELECT, INSERT ON mydatabase.* TO 'user1'@'localhost';
  • 1
  • 2

2. 역할 관리:

MySQL 8.0부터 역할 관리가 지원되어 권한 할당 및 관리가 단순화됩니다.

CREATE ROLE 'developer';
GRANT SELECT, INSERT, UPDATE ON mydatabase.* TO 'developer';
GRANT 'developer' TO 'user1'@'localhost';
  • 1
  • 2
  • 3

성능 최적화

1. 색인:

MySQL은 B-Tree 인덱스, 전체 텍스트 인덱스, 공간 인덱스 등 다양한 인덱스 유형을 지원하여 쿼리 성능을 향상시킵니다.

CREATE INDEX idx_name ON mytable(name);
  • 1

2. 쿼리 캐시:

MySQL은 쿼리 결과를 캐시하고 동일한 쿼리의 실행 효율성을 향상시킬 수 있는 쿼리 캐싱 기능을 제공합니다(MySQL 8.0에서는 제거됨).

3. 성능 스키마:

데이터베이스 성능을 모니터링하고 분석하기 위한 테이블 및 도구 세트가 제공됩니다.

SELECT * FROM performance_schema.events_statements_summary_by_digest;
  • 1

복제 및 고가용성

1. 마스터-슬레이브 복제:

MySQL은 데이터 배포 및 고가용성을 위해 마스터-슬레이브 복제를 지원합니다.

CHANGE MASTER TO MASTER_HOST='master_host', MASTER_USER='replication_user', MASTER_PASSWORD='password';
START SLAVE;
  • 1
  • 2

2. 클러스터(MySQL InnoDB 클러스터):

데이터의 고가용성과 일관성을 보장하는 고가용성 데이터베이스 클러스터 솔루션을 제공합니다.

데이터 백업 및 복구

1. 논리적 백업:

사용 mysqldump 논리적 백업을 위한 도구입니다.

mysqldump -u root -p mydatabase > mydatabase.sql
  • 1

2. 물리적 백업:

사용 mysqlbackup(MySQL 엔터프라이즈 백업) 또는 xtrabackup(Percona XtraBackup)은 물리적 백업용입니다.

기타 고급 기능

1. 트리거:

특정 테이블에서 특정 이벤트(INSERT, UPDATE, DELETE 등)가 발생할 때 자동으로 실행되는 SQL 코드입니다.

CREATE TRIGGER mytrigger BEFORE INSERT ON mytable FOR EACH ROW SET NEW.name = UPPER(NEW.name);
  • 1

2. 저장 프로시저 및 기능:

코드 재사용성과 유지 관리성을 향상시키기 위해 여러 번 호출할 수 있도록 일련의 SQL 문을 캡슐화합니다.

CREATE PROCEDURE myprocedure(IN param1 INT)
BEGIN
  SELECT * FROM mytable WHERE id = param1;
END;
  • 1
  • 2
  • 3
  • 4

3. 보기:

쿼리 가독성과 재사용성을 향상시키기 위해 복잡한 쿼리를 위한 가상 테이블을 만듭니다.

CREATE VIEW myview AS SELECT name FROM mytable WHERE id > 10;
  • 1

이러한 기능을 통해 MySQL은 다양한 애플리케이션 시나리오의 요구 사항을 충족하는 강력한 도구 세트를 제공합니다.