Linux Mysql

MySQL은 가장 널리 사용되는 오픈 소스 관계형 데이터베이스 관리 시스템(RDBMS) 중 하나입니다. 주로 웹 애플리케이션에서 데이터베이스 백엔드로 사용됩니다. Linux 시스템에서 MySQL을 설치하고 관리하는 방법에 대해 설명하겠습니다.

MySQL 설치

1. MySQL APT Repository 추가 (Ubuntu)

MySQL APT 리포지토리를 추가하면 최신 버전의 MySQL을 설치할 수 있습니다.

  1. MySQL APT 리포지토리 패키지를 다운로드합니다.
   wget https://dev.mysql.com/get/mysql-apt-config_0.8.17-1_all.deb
  1. 다운로드한 패키지를 설치합니다.
   sudo dpkg -i mysql-apt-config_0.8.17-1_all.deb

설치 과정 중에 MySQL 서버 버전을 선택하라는 메시지가 표시됩니다. 기본 옵션을 선택하고 계속 진행합니다.

  1. 패키지 목록을 업데이트합니다.
   sudo apt update

2. MySQL 서버 설치

MySQL 서버를 설치합니다.

sudo apt install mysql-server

설치 과정 중에 MySQL 루트 사용자 비밀번호를 설정하라는 메시지가 표시됩니다. 비밀번호를 설정하고 계속 진행합니다.

3. MySQL 서버 시작 및 상태 확인

MySQL 서버를 시작하고 상태를 확인합니다.

# MySQL 서버 시작
sudo systemctl start mysql

# MySQL 서버 상태 확인
sudo systemctl status mysql

4. MySQL 보안 설정

MySQL 보안 스크립트를 실행하여 보안 설정을 강화합니다.

sudo mysql_secure_installation

스크립트는 다음과 같은 보안 설정을 제공합니다:

  • 루트 비밀번호 강도 설정
  • 익명 사용자 제거
  • 루트 계정의 원격 접속 비활성화
  • 테스트 데이터베이스 제거
  • 권한 테이블 다시 불러오기

MySQL 기본 명령어

MySQL 클라이언트 접속

MySQL 클라이언트에 접속합니다.

mysql -u root -p

루트 비밀번호를 입력하여 MySQL 클라이언트에 접속합니다.

데이터베이스 관리

데이터베이스 생성
CREATE DATABASE mydatabase;
데이터베이스 목록 확인
SHOW DATABASES;
데이터베이스 선택
USE mydatabase;

사용자 관리

사용자 생성
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
권한 부여

특정 데이터베이스에 대한 모든 권한을 사용자에게 부여합니다.

GRANT ALL PRIVILEGES ON mydatabase.* TO 'username'@'localhost';

변경 사항을 적용합니다.

FLUSH PRIVILEGES;
사용자 목록 확인
SELECT user, host FROM mysql.user;

테이블 관리

테이블 생성
CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    username VARCHAR(50) NOT NULL,
    email VARCHAR(50) NOT NULL
);
테이블 목록 확인
SHOW TABLES;
테이블 구조 확인
DESCRIBE users;

MySQL 백업 및 복구

데이터베이스 백업

mysqldump 명령어를 사용하여 데이터베이스를 백업합니다.

mysqldump -u root -p mydatabase > mydatabase_backup.sql

데이터베이스 복구

백업 파일을 사용하여 데이터베이스를 복구합니다.

mysql -u root -p mydatabase < mydatabase_backup.sql

MySQL 서비스 관리

MySQL 서비스 시작, 중지 및 재시작

# MySQL 서버 시작
sudo systemctl start mysql

# MySQL 서버 중지
sudo systemctl stop mysql

# MySQL 서버 재시작
sudo systemctl restart mysql

MySQL 서버 부팅 시 자동 시작 설정

sudo systemctl enable mysql

결론

이 가이드는 Linux 시스템에서 MySQL을 설치하고 기본적으로 관리하는 방법에 대한 내용을 다룹니다. MySQL은 강력하고 유연한 데이터베이스 시스템으로, 다양한 웹 애플리케이션에서 널리 사용됩니다. 위의 명령어와 절차를 통해 MySQL을 설치하고 관리할 수 있으며, 필요에 따라 추가적인 튜닝과 설정을 통해 성능을 최적화할 수 있습니다.

Leave a Reply

Your email address will not be published. Required fields are marked *