8. 데이터베이스 MySQL 사용법
MySQL 서버에 루트 사용자로 접속합니다.
sudo mysql -u root -p
sudo: 관리자 권한으로 명령어를 실행합니다.
mysql: MySQL 셸을 시작하는 명령어입니다.
-u root: root 사용자로 MySQL에 접속합니다.
-p: MySQL 서버에 접속할 때 비밀번호를 묻도록 합니다. 이 명령어를 입력한 후 비밀번호를 입력하라는 프롬프트가 나타납니다.
MySQL 셸에 접속한 후, 다음 명령어를 사용하여 데이터베이스 목록을 확인할 수 있습니다:
SHOW DATABASES;
이 명령어를 실행하면 MySQL 서버에 존재하는 모든 데이터베이스의 목록이 표시됩니다.
예시:
mysql> SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mydatabase |
| mysql |
| performance_schema |
| sys |
+--------------------+
5 rows in set (0.00 sec)
이 예제에서는 mydatabase라는 이름의 데이터베이스를 생성합니다.
CREATE DATABASE mydatabase;
생성한 데이터베이스를 사용하도록 선택합니다.
USE mydatabase;
users 테이블을 생성합니다. 이 테이블에는 사용자 이메일, 비밀번호, 생성 날짜를 저장합니다.
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
email VARCHAR(255) NOT NULL UNIQUE,
password VARCHAR(255) NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
id: 각 사용자를 고유하게 식별하는 자동 증가 정수형 기본 키입니다.
email: 사용자의 이메일 주소로, 255자 이하의 문자열이며 고유합니다. NOT NULL 제약 조건이 적용되어 있어 비어 있을 수 없습니다.
password: 사용자의 비밀번호로, 255자 이하의 문자열입니다. NOT NULL 제약 조건이 적용되어 있어 비어 있을 수 없습니다.
created_at: 사용자가 생성된 시간을 나타내는 타임스탬프입니다. 기본값으로 현재 시간이 설정됩니다.
현재 데이터베이스(mydatabase) 내의 모든 테이블을 확인하려면 다음 명령어를 사용합니다:
SHOW TABLES;
특정 테이블의 구조를 확인하려면 다음 명령어를 사용합니다. 예를 들어, users 테이블의 구조를 확인하려면:
DESCRIBE users;
테이블의 데이터를 조회하려면 다음 명령어를 사용합니다. 예를 들어, users 테이블의 모든 데이터를 조회하려면:
SELECT * FROM users;
MySQL 서버 시작:
sudo service mysql start
MySQL 서버 상태 확인:
sudo service mysql status
MySQL 서버 재시작:
sudo service mysql restart
데이터베이스 포트(기본적으로 3306)를 방화벽에서 허용합니다:
sudo ufw allow 3306/tcp