MySQL은 요즘 PHP와 더불어 각광을 받고 있는 DB 입니다.
오라클, SQL 서버 등이 엔터프라이즈 급이라면 MySQL은 중소형 급의 강력하고 빠른 공개형 DB
서버입니다.

MS-SQL, PostgreSQL 등의 다른 공개형 DB도 있지만 강력한 성능, 뛰어난 사용자 권한 설정, 편리한 유틸리티 등을 제공하며 무엇보다 PHP 와 가장 궁합이 잘 맞는 DB입니다. Win32 용도 있어서
윈도우즈나 NT에서도 사용할 수 있습니다.

벤치마크 결과 100,000,000건 이하의 자료에서는 공개형 DB 중 가장 뛰어난 성능을 가진다고 합니다.

 
 
 

1. 먼저 텔넷으로 고객님의 계정에 접속합니다. 텔넷 접속 방법을 모르실 경우 서버사용법의 텔넷 부분을 참조하시기 바랍니다.
2. /usr/local/mysql/bin 디렉토리로 이동합니다.
3. ./mysql -u계정 -p암호 DB명을 치시면 데이타베이스 관리화면이 뜹니다.

          # cd /usr/local/mysql/bin
          # ./mysql -u계정 -p암호 DB명
          mysql>

보통 DB명은 도메인명과 동일하게 설치하며 ID및 Password 또한 계정의 ID와 Password로 세팅해 드립니다.

4. 접속을 끊으려면 mysql 프롬프트 상에서 exit 를 입력한 후 엔터를 치시면 됩니다.

         mysql> exit

 
 
   
 
  명령은 SQL 문과 그 뒤에 오는 세미콜론(;)으로 이루어집니다.(세미콜론이 필요 없는 예외가 있기도 합니다. exit 가 그 중 하나입니다.)

고객님께서 명령을 내리면, mysql은 서버로 그 명령을 보내어 실행되게 하고, 그 결과를 보여주고 다시 명령 대기 상태 프롬프트('mysql>')를 나타냅니다.

mysql은 테이블 형식(행과 열로 이루어진)으로 결과를 보여줍니다.
첫 행은 각 열에 대한 라벨을 갖고 있습니다. 두번째 행 부터는 질문의 답이 놓입니다.

명령어(예약어)는 대문자로 하든, 소문자로 하든 상관이 없습니다. 아래 세개의 명령은 모두 동일합니다.

          mysql> SELECT VERSION(), CURRENT_DATE;
          mysql> SELECT version(), current_date;
          mysql> seLect vErSiOn(), current_DATE;


 
   
 
  질문을 하는 명령어는 SELECT 입니다. 이 명령어는 테이블에 입력되어 있는 데이터 값들을 출력해 볼 수 있습니다.

(1) 원하는 명령어를 입력합니다.

          mysql> SELECT NOW();

(2) 명령을 반드시 한 줄에 다 입력해야 하는 것은 아닙니다. 아래와 같이 여러줄에 입력해도 됩니다.

          mysql> SELECT
          -> USER()
          -> ,
          ->CURRENT_DATE;


 
   
 
  (1) 현재 만들어져 있는 테이블의 목록을 출력합니다.

          mysql> SHOW TABLES;
          Empty set (0.00 sec)

현재 생성되어 있는 테이블이 없다면 위와 같이 테이블이 없다고 나옵니다.

(2) pet 이라는 이름의 테이블을 만듭니다.

CREATE TABLE 다음에 테이블 이름을 써 주고 괄호 안에 열의 이름과 그 열의 자료형을 쉼표로 구분하여 열거해 주면 됩니다.
name, stone, pro, nara, net등이 열의 이름이며, VARCHAR(20), CHAR(2), DATE가 자료형입니다.
자료형이란 말 그대로 자료의 형태입니다. 자료는 문자열일 수 있고, 날짜일 수도 있고, 숫자일 수도 있습니다.

다음 표와 같은 테이블이 만들어집니다.

           
pet TABLE
1열
2열
3열
4열
5열
6열
열이름
name
stone
pro
nara
net
com

          mysql> CREATE TABLE pet (name VARCHAR(20), stone VARCHAR(20),
          -> pro VARCHAR(20), nara CHAR(2), net DATE, com DATE);

SHOW TABLES 로 테이블이 잘 만들어졌는지 확인합니다.

          mysql> SHOW TABLES;


 
   
 
  정보 검색을 하는 명령어는 SELECT 입니다. 이 명령어는 테이블에 입력되어 있는 데이터 값들을 출력해 볼 수 있습니다.

(1) my_table 의 모든 데이터를 출력합니다.

          mysql> SELECT * FROM my_table;

(2) my_table 중 name 이 "홍길동"인 사람만 출력합니다. 물론 여기서 name 은 my_table 에 있는 열 중의 하나입니다.

          mysql> SELECT * FROM my_table WHERE name = "홍길동";

 
   
 
  하나의 데이터를 테이블에 추가하는 방법은 아래와 같습니다. 이 때, values 값(data1~data6)은 테이블의 열과 자료형에 맞게 넣으면 됩니다.

           mysql> INSERT INTO my_table
          -> VALUES('data1', 'data2', 'data3', 'data4', 'data5', 'data6');


 
   
 
  (1) 정보 수정하기

문법 : UPDATE table_name SET 변경할 열="변경할 내용" WHERE 찾는 열="찾는 열의 데이터";

          mysql> UPDATE pet SET birth="1989-08-31" WHERE name="Bowser";

(2) 삭제하기

테이블의 모든 내용 삭제 : DELETE FROM table_name;
where 절을 만족하는 부분만 삭제 : DELETE FROM table_name WHERE name="name";

주의 : DELETE 명령은 상당히 위험합니다. 한번 명령을 내리면 다시 복구할 수 없으므로 주의하시기 바랍니다.

          mysql> DELETE FROM pet;


 
 
   
 
  1) db 를 통체로 받는 방법

mysql 은 /usr/local/mysql 에 설치 되어 있습니다.

방법 : /usr/local/mysql/bin/mysqldump -u username -p dbname > dbback.sql
password : <=== 패스워드 입력

위와 같이 하시면 db 를 통째로 모두 받으실 수 있습니다.

2) db 의 특정 table 만 받는 방법

방법 : /usr/local/mysql/bin/mysqldump -u name -p dbname tablename > tableback.sql
password : <=== 패스워드 입력

위와 같이 백업을 받으시고 파일로 다른 디렉토리나 ftp 를 사용하셔서 다운 받아 놓으면 mysql 에러시 복구를 할 수 있어 데이터 손실률을 최소로 할 수 있습니다.

 
   
 
  1) db 서버에서 db 가 없어졌을 경우

db를 먼저 만드신 다음에 table 복구 방법처럼 복구하시면 됩니다.
시스템 관리자가 아니라면 db 를 만들수 없으므로 이럴 경우에는 시스템 관리자에게 데이터베이스를 새로 생성해 줄 것을 요청하시면 됩니다.
참고로 db 를 만드는 방법은 아래와 같습니다.

/usr/local/mysql/bin/mysql -u name -p
password : <=== 패스워드 입력
create database dbname;

이런식으로 만드시면 됩니다.

2) table 백업 복구 방식

/usr/local/mysql/bin/mysql -u name -p dbname < tableback.sql
password : <=== 패스워드 입력

위와 같이 백업과 복구가 가능합니다.