MySQL은 오픈 소스 관계형 데이터베이스 관리 시스템(RDBMS)이다. 이는 데이터를 효율적으로 저장, 관리, 검색하기 위해 사용되며, 많은 웹 애플리케이션과 서비스에서 데이터베이스로 사용된다. MySQL의 주요 특징과 개념은 다음과 같다
• 관계형 데이터베이스: MySQL은 데이터를 테이블 형태로 저장하며, 테이블 간의 관계를 정의할 수 있는 관계형 데이터베이스 시스템이다. 이를 통해 복잡한 데이터 구조를 효율적으로 관리할 수 있다.
• SQL 지원: MySQL은 표준 SQL(Structured Query Language)을 사용하여 데이터베이스를 관리한다. SQL을 사용하여 데이터베이스의 데이터를 삽입, 업데이트, 삭제, 검색할 수 있다.
• 오픈 소스: MySQL은 GNU GPL(General Public License) 하에 배포되는 오픈 소스 소프트웨어이다. 이는 사용자들이 소스 코드를 자유롭게 사용할 수 있으며, 필요에 따라 수정할 수 있음을 의미한다.
• 다중 사용자 및 다중 스레드 지원: MySQL은 다중 사용자 환경을 지원하며, 여러 사용자가 동시에 데이터베이스에 접근하고 작업을 수행할 수 있다. 또한, 다중 스레드를 지원하여 성능을 향상시킨다.
• 트랜잭션 및 ACID 준수: MySQL은 트랜잭션을 지원하여 데이터베이스 작업의 완전성을 보장한다. 트랜잭션은 원자성, 일관성, 고립성, 지속성(ACID) 특성을 준수한다. 이를 통해 데이터베이스의 무결성을 유지할 수 있다.
• 복제 및 고가용성: MySQL은 데이터베이스 복제 기능을 제공하여 데이터베이스의 고가용성을 보장한다. 복제를 통해 데이터를 여러 서버에 복사하여 장애 발생 시 데이터를 보호할 수 있다.
• 다양한 저장 엔진: MySQL은 여러 저장 엔진을 지원하여 사용자가 요구에 맞게 선택할 수 있다. 대표적인 저장 엔진으로 InnoDB(트랜잭션 지원)와 MyISAM(고성능 읽기 작업 지원)이 있다.
• 보안 기능: MySQL은 사용자 권한 관리, 암호화, SSL 지원 등 다양한 보안 기능을 제공하여 데이터베이스의 보안을 강화한다.
• 광범위한 플랫폼 지원: MySQL은 다양한 운영 체제와 플랫폼에서 실행될 수 있다. Windows, Linux, macOS 등에서 설치하고 사용할 수 있다.
• 커뮤니티와 상용 버전: MySQL은 커뮤니티 버전과 상용 버전이 존재한다. 커뮤니티 버전은 무료로 제공되며, 상용 버전은 추가적인 기능과 기술 지원을 제공한다.
MySQL 설치
apt 패키지를 업데이트하고, 간단한 명령어를 통해 설치가 가능하다.
sudo apt update
sudo apt install mysql-server
또한 외부 접속 기능을 설정해주었다.
sudo ufw allow mysql
다음으로 소프트웨어를 실행하고 접속한다.
sudo systemctl start mysql
sudo mysql -u root
Ubuntu 서버 재시작 시 MySQL이 자동으로 재시작 되도록 설정해주었다.
sudo systemctl enable mysql
MySQL 데이터베이스 다루기
testdb라는 데이터베이스를 생성하고, 이를 확인하는 명령어를 입력하면 아래와 같이 정상적으로 DB가 정상적으로 잘 생성된 것이 확인 가능하다.
CREATE DATABASE testdb;
show databases;
다음으로 testdb 안에 테이블을 생성해보았다.
use testdb;
CREATE TABLE Student(name char(20), age int);
INSERT INTO Student VALUES("Edward", 23);
SELECT * FROM Student;
학생의 이름(name)과 나이(age)을 칼럼으로 하는 Student라는 이름의 테이블을 생성하여 23살인 Edward의 데이터를 저장하는
명령어를 실행했다. 실행 결과는 다음과 같다.
MySQL 터미널에서 빠져나오고 싶으면 exit을 입력하면 된다.
'Linux' 카테고리의 다른 글
[Linux] 도커(Docker) | M1 Mac 우분투(Ubuntu) 22.04 (1) | 2024.06.28 |
---|---|
[Linux] git | M1 Mac 우분투(Ubuntu) 22.04 (1) | 2024.06.28 |
[Linux] Visual Studio Code | M1 Mac 우분투(Ubuntu) 22.04 (3) | 2024.05.18 |
[Linux] 아나콘다(Anaconda) | M1 Mac 우분투(Ubuntu) 22.04 (2) | 2024.05.11 |
[Linux] M1 Mac 우분투(Ubuntu) 22.04 가상머신 띄우기 (1) | 2024.05.10 |