리눅스
리눅스 쉘에서 MySQL DB 및 테이블을 생성하는 방법
변군이글루
2013. 8. 14. 11:28
반응형
리눅스 쉘에서 MySQL DB 및 테이블을 생성하는 방법
리눅스 쉘 환경에서 SQL 파일을 이용하여 데이터베이스 및 테이블을 생성하고 mysqlshow로 결과를 확인하는 방법입니다.
1. 데이터베이스(Database) 생성
SQL 파일 작성
[root@byungun ~]$ cat temp.sql
CREATE DATABASE tempdb;
MySQL에 SQL 파일 적용
[root@byungun ~]$ mysql -u root -p mysql < ./temp.sql
- -u root : 사용자
- -p : 비밀번호 입력
- mysql : 기본 시스템 DB (접속 대상)
- < ./temp.sql : SQL 파일 실행
생성된 DB 확인
[root@byungun ~]$ mysqlshow -u root -p
Enter password:
+--------------------+
| Databases |
+--------------------+
| information_schema |
| first |
| mysql |
| tempdb |
| test |
+--------------------+
2. 테이블(Table) 생성
SQL 파일 작성
[root@byungun ~]$ cat temp_table.sql
CREATE TABLE temptable (
uid MEDIUMINT(3) NOT NULL,
name VARCHAR(12) NOT NULL,
PRIMARY KEY (uid)
);
특정 DB에 테이블 생성
[root@byungun ~]$ mysqlshow -u root -p tempdb temptable
Enter password:
- tempdb : 테이블을 생성할 대상 데이터베이스
테이블 구조 확인
[root@byungun ~]$ mysqlshow -u root -p tempdb temptable
Enter password:
Database: tempdb Table: temptable
+-------+--------------+-------------------+------+-----+---------+-------+---------------------------------+---------+
| Field | Type | Collation | Null | Key | Default | Extra | Privileges | Comment |
+-------+--------------+-------------------+------+-----+---------+-------+---------------------------------+---------+
| uid | mediumint(3) | | NO | PRI | | | select,insert,update,references | |
| name | varchar(12) | latin1_swedish_ci | NO | | | | select,insert,update,references | |
+-------+--------------+-------------------+------+-----+---------+-------+---------------------------------+---------+
- uid → Primary Key 설정 확인
- name → 문자열 컬럼 확인
3. 실무 팁
문자셋 명시 권장
- 운영 환경에서는 charset을 명시하는 것이 좋습니다.
CREATE DATABASE tempdb CHARACTER SET utf8mb4;
CREATE TABLE temptable (
uid MEDIUMINT NOT NULL,
name VARCHAR(12) NOT NULL,
PRIMARY KEY (uid)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
SQL 실행 시 로그 확인
- 에러 확인을 위해 다음처럼 실행하면 좋습니다.
mysql -u root -p tempdb < temp_table.sql 2> error.log
mysqlshow 대신 대안
- 더 상세한 정보 확인
mysql -u root -p -e "USE tempdb; SHOW CREATE TABLE temptable\G"
728x90
반응형