9. Mysql

9.1. mysql 주기적으로 백업하기

  1. myhome_bakcup 셀스크립트
    #!/bin/bash
    
    T=$(echo `date +%Y%m%d%H%M`)
    MY=$(echo /home/nalabi/backup)
    
    echo "nalabi 의 데이타가 백업 되었습니다. $T"
    
    mysqldump myhome > $MY/myhome$T.sql
    gzip $MY/myhome$T.sql
            

  2. /etc/crontab 사용하기
    SHELL=/bin/bash
    PATH=/sbin:/bin:/usr/sbin:/usr/bin
    MAILTO=root
    HOME=/
    
    # run-parts
    01 * * * * root run-parts /etc/cron.hourly
    02 4 * * * root run-parts /etc/cron.daily
    22 4 * * 0 root run-parts /etc/cron.weekly
    42 4 1 * * root run-parts /etc/cron.monthly
            

    형식 :

    a b c d e id runparts directory

    분(0~59) 시(0~24) 날짜(0~31) 달(0~12) 요일(0~7) id(크론이 사용할 계정) directory(실행하게될 파일 놓이게 될 경로)

    예제 :

    15 14 1 * * root /home/nalabi/backup/myhome_backup

    매달 1일 오후 2시 15에 myhome_backup을 실행한다.

    0 22 * * 1-5 root /home/nalabi/backup/myhome_backup

    월요일 부터 금요일까지 매일 오후 8시에 myhome_backup을 실행한다.

    23 0-23/2 * * * root /home/nalabi/backup/myhome_backup

    매일 0, 2, 4, ....시 23분에 실행한다.

9.2. mysql 루트 패스워드를 잃어 버렸을 때

mysql 중지한다.

/etc/init.d/mysql stop

데몬을 아무나 들어갈수 있게 다시 실행한다.
      safe_mysqld --skip-grant &
    

루트 패스워드를 변경한다.
      mysql> update user set password='' where user='root';
    

mysql 을 재시동 합니다.
      /etc/init.d/mysql stop
      /etc/init.d/mysql start
    

9.3. 데이타 타입 (테이블 생성시 컬럼의 데이타 타입입니다.)

  1. 수치 데이터 타입
              * INTEGER (INT) 
              * SMALLINT 
              * NUMBER 
              * DECIMAL(DEC) (x,y) : x는 실수자리, y는 소수점 이하자리 
              * FLOAT 
            

  2. 문자 데이터 타입
     
              * VARCHAR (n) : 8비트 문자 길이가 최대 n개인 문자열 
              *CHARACTER(CHAR) (n) : n개의 8비트 문자열 
              * LONG 
            

  3. 그외의데이터 타입
              * DATE/TIME : 날짜/시간 
              * LONG RAW 
            

9.4. 쉘에서 DB 내용 보기

mysqlshow
+-----------+ 
|Databases | 
+-----------+ 
| board | 
| kedu | 
| mysql | 
| test | 
+-----------+ 
    

9.5. Mysql에 들어가기

mysql test
Reading table information for completion of table and column names 
You can turn off this feature to get a quicker startup with-A 

Welcome to the MySQL monitor. Commands end with ; or g. 
Your MySQL connection id is 7 to server version: 3.22.23b 

Type 'help' for help. 

mysql> 
    

9.6. 데이타 백업 받기 (화일로 받음)

mysqldump 를 이용해서 sql 데이타를 백업 받을수 있으며 DB이름만 지정하면 전체 테이블이, 테이블 이름 까지 지정하면 해당 테이블만 백업을 할수 있다.

mysqldump DB이름 (table이름) > 화일이름

mysqldump test test > test.sql
# MySQL dump 6.0 
# 
# Host: localhost Database: test 
#-------------------------------------------------------- 
# Server version 3.22.23b 

# 
# Table structure for table 'test' 
# 
CREATE TABLE test ( 
no int(11), 
name char(10), 
tel char(15), 
addr char(20), 
sex char(1), 
birth date 
); 

# 
# Dumping data for table 'test' 
# 

INSERT INTO test VALUES (2,'이주상','02-504-xxxx','과천시','m','1971-02-02'); 
INSERT INTO test VALUES (3,'임정남','02-420-xxxx','송파구','f','1971-03-03'); 
INSERT INTO test VALUES (4,'강행모','02-856-xxxx','관악구','f','1971-04-04'); 
INSERT INTO test VALUES (5,'이현영','0342-718-xxxx','분당구','m','1971-05-05'); 
INSERT INTO test VALUES (6,'이병환','02-891-xxxx','하안동','m','1980-06-06'); 
INSERT INTO test VALUES (1,'남상욱','333-4444','동작구','m','1971-01-01'); 
    

9.7. 데이타 입력하기 (화일--> Mysql)

mysql test < test.sql

참고로 데이타 확인은 mysql -e "select * from test" test
 
+------+--------+---------------+--------+------+------------+ 
| no | name | tel | addr | sex | birth | 
+------+--------+---------------+--------+------+------------+ 
| 2 |이주상 | 02-504-xxxx | 과천시 | m | 1971-02-02 | 
| 3 | 임정남 | 02-420-xxxx | 송파구 | f | 1971-03-03 | 
| 4 | 강행모 | 02-856-xxxx | 관악구 | f | 1971-04-04 | 
| 5 | 이현영 | 0342-718-xxxx | 분당구 | m | 1971-05-05 | 
| 6 | 이병환 | 02-891-xxxx | 하안동 | m | 1980-06-06 | 
| 1 | 남상욱 | 333-4444 | 동작구 | m | 1971-01-01 | 
+------+--------+---------------+--------+------+------------+ 
    

9.8. 사용자 만들기

  1. aaaa라는 사용자(user)를 만듭니다.

    mysql mysql(mysql db로 들어갑니다.)
     
    mysql>insert into user values ('localhost','aaaa','','y','y','y','y','y','y','y','y','y','y','y','y','y','y'); 
    Query OK, 1 row affected (0.04 sec) 
            

    reload 를 꼭 실행시킵니다.(쉘에서)

    mysqladmin reload

  2. aaaa라는 사용자에게 aaaa라는 비밀번호를 부여합니다.

    mysqladmin -u aaaa password aaaa

    mysqladmin reload

  3. 데이타 베이스 만들기

    사용자가 없을 경우 : mysqladmin create aaaa

    사용자와 비밀번호가 있는 경우 : mysqladmin -u aaaa -p create aaaa (or) mysqladmin -u aaaa -paaaa create aaaa

  4. 서버의 데이타 베이스 끌어오기

    서버 상의 데이타 베이스를 나의 컴의 프로그램으로 가져 올때 사용합니다.

    서버의 mysql mysql 을 실행 합니다.

    INSERT INTO db VALUES ('나의 컴 아이피','DB이름','사용자','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');

    INSERT INTO user VALUES ('나의 컴 아이피 '사용자 ','비밀번호 ','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');

    그리고, 위의 퀘리문을 편집해서 실행 합니다.

    그려면 나의 컴에 DB가 없어도 서버의 DB를 가져와서 사용을 할수가 있습니다.

9.9. 테이블 만들기

사용법 : create table 테이블이름(변수명 변수값, ......);

mysql> create table test (no int, name char(10), age int, tel char(15)); 
Query OK, 0 rows affected (0.00 sec) 
    

9.10. 테이블 보기

사용법 : show tables;

mysql> show tables; 
   +-----------------+ 
   | Tables in test | 
   +-----------------+ 
   | test | 
   +-----------------+ 
   2 rows in set (0.00 sec) 

mysql> show tables like 'ad_%';
   +-------------------------+
   | Tables_in_dbkedu (ad_%) |
   +-------------------------+
   | ad_expose               |
   | ad_img                  |
   | ad_redirect             |
   | address                 |
   +-------------------------+
   4 rows in set (0.00 sec)
    

9.11. 테이블 데이타 입력하기

mysql > insert into test values(1,'김용일','29','02-825-xxxx'); 
Query OK, 1 row affected (0.00 sec) 
    

9.12. 특정 필드만 입력

mysql> insert into test (no,name) values ('7','남상욱'); 
Query OK,1 row affected (0.00 sec) 
    

9.13. 테이블내용 보기

select 문을 이용한다.
mysql> select * from test; 
+------+--------+------+---------------+ 
| no | name | age | tel | 
+------+--------+------+---------------+ 
| 1 | 김용일 | 29 | 02-825-xxxx | 
| 2 | 이주상 | 29 | 02-504-xxxx | 
| 3 | 임정남 | 29 | 02-420-xxxx | 
| 4 | 강행모| 29 | 02-856-xxxx | 
| 5 | 이현영 | 29 | 0342-718-xxxx | 
| 6 |이병환 | 12 |02-891-xxxx | 
| 7 | 남상욱 | NULL | NULL | 
+------+--------+------+---------------+ 
7 rows in set (0.00 sec) 
    

9.14. 필드 추가

alter 문을 이용한다.
mysql> alter table test add addr char(20); 
Query OK, 1 row affected (0.00 sec) 
Records: 1 Duplicates: 0 Warnings: 0 

mysql> desc test; 
+-------+----------+------+-----+---------+-------+ 
| Field | Type | Null | Key | Default | Extra | 
+-------+----------+------+-----+---------+-------+ 
| no |int(11) | YES | | NULL | | 
| name | char(10) | YES | | NULL | | 
| age | int(11) | YES | | NULL | | 
| tel | char(15) | YES | | NULL | | 
| addr | char(20) | YES | | NULL | | 
+-------+----------+------+-----+---------+-------+ 
5 rows in set (0.00 sec) 
    

9.15. 필드 삭제

alter 문을 이용한다.
mysql> alter table test drop age; 
Query OK, 6 rows affected (0.01 sec) 
Records: 6 Duplicates: 0 Warnings: 0 
    

9.16. 기타 alter 용법

alter 문을 이용한다.

ALTER TABLE에는 다음 세가지 형식이 있습니다.

ALTER TABLE table_name ADD ( ... ) ;

ALTER TABLE table_name MODIFY( ... ) ;

ALTER TABLE table_name DROP PRIMARYKEY ;

  1. ALTER TABLE t1 RENAME t2;

    테이블 이름을 t1에서 t2로 바꿈

  2. ALTER TABLE t2 CHANGE a a TINYINT NOT NULL, CHANGE b c CHAR(20);

    테이블 내의 컬럼 속성을 바꿈

    원래 컬럼 a는 INTEGER였는데 TINYINT로,

    컬럼b는 CHAR(10)이었는데 컬럼이름은 c로 이타 타입은 CHAR(20)으로 수정

  3. ALTER TABLE t2 ADD d TIMESTAMP;

    테이블 t2에 d라는이름으로 TIMESTAMP 형으로 추가

  4. ALTER TABLE t2 ADD INDEX (d), ADD PRIMARY KEY (a);

    새로운 인텍스를 생성 컬럼 a에 primary key 생성.

  5. ALTER TABLE test MODIFY (age NUMBER NULL );

    NOT NULL을 NULL로 바꾸기

  6. ALTER TABLE test MODIFY (age NUMBER NOT NULL );

    NULL을 NOT NULL로 바꾸기

  7. ALTER TABLEtest MODIFY (name VARCHAR2( 20 ) );

    열의 폭 늘이기

  8. ALTER TABLE test MODIFY (name VARCHAR2( 15 ) );

    열의 폭 줄이기

  9. ALTER TABLE t2 DROP COLUMN c;

    컬럼 c를 없애버리고

  10. ALTER TABLE t2 ADD c INT UNSIGNED NOT NULL AUTO_INCREMENT, ADD INDEX (c);

    t2 테이블에 c라는 컬럼을 새로 생성시키는데

    INT (INTEGER) : 정수

    UNSIGNED : 양수

    NOT NULL : 아무데이타가 없으면 '0'

    AUTO_INCREMENT : 데이타가 자동적으로 입력됨...

    ADD INDEX (c) : 컬럼 c에 대해서 인텍스 생성

9.17. 데이타 삭제

delete 를 이용한다.
mysql>delete from test where name='김용일'; 
Query OK, 1 row affected(0.00 sec) 
    

9.18. 데이타 수정

update를 이용한다.
 
mysql> update test set no=1,tel='333-4444' where name='남상욱'; 
Query OK, 1 row affected (0.01 sec) 
Rows matched: 1 Changed: 1 Warnings: 0 
    

mysql> update test set addr='동작구' where no='1'; 
    

9.19. 내림 차순으로 정렬

order문을 이용
mysql> select * from test order by no desc; 
+------+--------+------+---------------+--------+ 
| no | name | age | tel | addr | 
+------+--------+------+---------------+--------+ 
| 6 | 이병환 |12 | 02-891-xxxx | NULL | 
| 5 | 이현영 | 29 | 0342-718-xxxx | NULL | 
| 4 | 강행모 | 29 | 02-856-xxxx | NULL | 
| 3 | 임정남 | 29 | 02-420-xxxx | NULL | 
| 2| 이주상 | 29 | 02-504-xxxx | NULL | 
| 1 | 남상욱 | NULL | 333-4444 | 동작구 | 
+------+--------+------+---------------+--------+ 
6 rows in set (0.01 sec) 
    

9.20. 무작위 정렬

rand문을 이용
mysql> select * from test order by rand(); 
+------+--------+---------------+--------+------+------------+ 
| no | name | tel | addr | sex | birth | 
+------+--------+---------------+--------+------+------------+ 
| 5 | 이현영 | 0342-718-xxxx | 분당구 | m | 1971-05-05 | 
| 4 | 강행모 | 02-856-xxxx | 관악구 | f | 1971-04-04 | 
| 2 | 이주상 | 02-504-xxxx | 과천시 | m | 1971-02-02 | 
| 1 | 남상욱 | 333-4444 | 동작구 | m | 1971-01-01 | 
| 6 | 이병환 | 02-891-xxxx | 하안동 | m | 1980-06-06 | 
| 3 | 임정남 | 02-420-xxxx | 송파구 | f | 1971-03-03 | 
+------+--------+---------------+--------+------+------------+ 
6 rows in set (0.01 sec) 
    

9.21. 년도순으로 정렬

year문 이용
mysql> select * from test order by year(birth) desc; 
+------+--------+---------------+--------+------+------------+ 
| no | name | tel | addr | sex | birth | 
+------+--------+---------------+--------+------+------------+ 
| 6 | 이병환 | 02-891-xxxx | 하안동 | m | 1980-06-06 | 
| 2 | 이주상 | 02-504-xxxx | 과천시 | m | 1971-02-02 | 
| 3 | 임정남 | 02-420-xxxx | 송파구 | f | 1971-03-03 | 
| 4 | 강행모 | 02-856-xxxx | 관악구 | f | 1971-04-04 | 
| 5 | 이현영 | 0342-718-xxxx | 분당구 | m | 1971-05-05 | 
| 1 | 남상욱 | 333-4444 | 동작구 | m | 1971-01-01 | 
+------+--------+---------------+--------+------+------------+ 
6 rows in set (0.00 sec) 
    

9.22. 년도, 번호순으로 정렬

year 문 이용
mysql> select * from test order by year(birth) desc, no desc; 
+------+--------+---------------+--------+------+------------+ 
| no | name | tel | addr | sex | birth | 
+------+--------+---------------+--------+------+------------+ 
| 6 | 이병환 | 02-891-xxxx | 하안동 | m | 1980-06-06 | 
| 5 | 이현영 | 0342-718-xxxx | 분당구 | m | 1971-05-05 | 
| 4 | 강행모 | 02-856-xxxx | 관악구 | f | 1971-04-04| 
| 3 | 임정남 | 02-420-xxxx | 송파구 | f | 1971-03-03 | 
| 2 | 이주상 | 02-504-xxxx | 과천시 | m | 1971-02-02 | 
| 1 | 남상욱 | 333-4444 | 동작구 | m | 1971-01-01 | 
+------+--------+---------------+--------+------+------------+ 
    

9.23. 20살 이상이 몇명인가를 찾는다.

where 절 이용
mysql> select count(*) from test where age >=20; 
+----------+ 
| count(*) | 
+----------+ 
| 4 | 
+----------+ 
1 row in set (0.00 sec) 
    

9.24. null 값 검색하기

null 문 이용
mysql> select * from test where addr is not null; 
+------+--------+------+----------+--------+ 
| no | name | age | tel | addr | 
+------+--------+------+----------+--------+ 
| 1 | 남상욱 | NULL | 333-4444 | 동작구 | 
+------+--------+------+----------+--------+ 
1 row in set (0.00 sec) 
    

9.25. null 값 검색하기

null 문 이용
mysql> select * from test whereaddr is null; 
+------+--------+------+---------------+------+ 
| no | name | age | tel | addr | 
+------+--------+------+---------------+------+ 
| 2 | 이주상 | 29 | 02-504-xxxx | NULL | 
| 3 | 임정남 | 29| 02-420-xxxx | NULL | 
| 4 | 강행모 | 29 | 02-856-xxxx | NULL | 
| 5 | 이현영 | 29 | 0342-718-xxxx | NULL | 
| 6 | 이병환 | 12| 02-891-xxxx | NULL | 
+------+--------+------+---------------+------+ 
5 rows in set (0.01 sec) 
    

9.26. 검색 하기

like 이용
  
mysql> select * from test where name like '%이%'; 
+------+--------+------+---------------+------+ 
| no | name | age | tel | addr | 
+------+--------+------+---------------+------+ 
| 2 | 이주상 | 29 | 02-504-xxxx | NULL | 
| 5 | 이현영 | 29 | 0342-718-xxxx | NULL | 
| 6 | 이병환 | 12 | 02-891-xxxx | NULL | 
+------+--------+------+---------------+------+ 
3 rows in set (0.00 sec) 
    

9.27. 범위 검색

등호, 부등호 를 이용해서 검색
mysql> select * from test where age>=10 and age <=20; 
+------+--------+------+-------------+------+ 
| no | name | age | tel | addr | 
+------+--------+------+-------------+------+ 
| 6 | 이병환 | 12 | 02-891-xxxx | NULL | 
+------+--------+------+-------------+------+ 
1 row in set (0.00 sec) 
    

9.28. in 검색

in 문을 이용해서 검색
mysql> select * from test where addr in('동작구','관악구'); 
+------+--------+------+-------------+--------+ 
| no | name | age | tel | addr | 
+------+--------+------+-------------+--------+ 
| 4 | 강행모 | 29 | 02-856-xxxx | 관악구 | 
| 1 | 남상욱 | NULL | 333-4444 | 동작구 | 
+------+--------+------+-------------+--------+ 
2 rows in set (0.00 sec) 
    

9.29. not in 검색

not in문을 이용해서 검색
mysql> select * from test where addr not in('동작구','관악구'); 
+------+--------+------+---------------+--------+ 
| no | name | age | tel | addr | 
+------+--------+------+---------------+--------+ 
| 2 | 이주상 | 29 |02-504-xxxx | 과천시 | 
| 3 | 임정남 | 29 | 02-420-xxxx | 송파구 | 
| 5 | 이현영 | 29 | 0342-718-xxxx | 분당구 | 
| 6 | 이병환 | 12 | 02-891-xxxx | 하안동 | 
+------+--------+------+---------------+--------+ 
4 rows in set (0.00 sec) 
   

치환 검색
mysql> select * from cls_class as a, cls_member as b where b.g_code = 'h0001_3_2' and b.g_code=a.g_code;
   

9.30. 날짜 검색하기

where 절 이용
mysql> SELECT COUNT(no) FROM brd_free WHERE date = '2000-02-17';
+-----------+
| COUNT(no) |
+-----------+
|         1 |
+-----------+
1 row in set (0.03 sec)
    

9.31. 테이블 내용을 화일로 만들기

꼭 경로를 지정해야함
 
mysql> select * from test into outfile '/root/test.txt'; 
    

결과
2 이주상 02-504-xxxx 과천시 m 1971-02-02 
3 임정남 02-420-xxxx 송파구 f 1971-03-03 
4 강행모 02-856-xxxx 관악구 f 1971-04-04 
5 이현영 0342-718-xxxx 분당구 m 1971-05-05 
6 이병환 02-891-xxxx 하안동 m 1980-06-06 
1 남상욱 333-4444 동작구 m 1971-01-01 
    

9.32. 테이블 내용을 화일로 만들때 |로 구분하기

terminated 문을 쓴다.
mysql> select * from test into outfile '/root/test.txt' fields terminated by '|'; 
    

결과
2|이주상|02-504-xxxx|과천시|m|1971-02-02 
3|임정남|02-420-xxxx|송파구|f|1971-03-03 
4|강행모|02-856-xxxx|관악구|f|1971-04-04 
5|이현영|0342-718-xxxx|분당구|m|1971-05-05 
6|이병환|02-891-xxxx|하안동|m|1980-06-06 
1|남상욱|333-4444|동작구|m|1971-01-01 
    

9.33. 화일을 불러오기

load 명령어를 쓴다.
mysql> load data infile '/root/test.txt' replace into table test fields terminated by '|'; 
Query OK, 6 rows affected (0.02 sec) 
Records: 6 Deleted: 0 Skipped: 0 Warnings: 0 
    

결과
mysql> select * from test; 
+------+--------+---------------+--------+------+------------+ 
| no | name | tel | addr | sex | birth | 
+------+--------+---------------+--------+------+------------+ 
| 2 |이주상 | 02-504-xxxx | 과천시 | m | 1971-02-02 | 
| 3 | 임정남 | 02-420-xxxx | 송파구 | f | 1971-03-03 | 
| 4 | 강행모 | 02-856-xxxx | 관악구| f | 1971-04-04 | 
| 5 | 이현영 | 0342-718-xxxx | 분당구 | m | 1971-05-05 | 
| 6 | 이병환 | 02-891-xxxx | 하안동 | m | 1980-06-06 | 
| 1 |남상욱 | 333-4444 | 동작구 | m | 1971-01-01 | 
+------+--------+---------------+--------+------+------------+ 
    

9.34. 사칙연산

* SUM (Column_name) : 특정 컬럼에서 조건에 만족하는 모든열의 값을 다더함

* AVG (Column_name) : 평균값 추출

* MAX (Column_name) : 최대값추출

* MIN (Column_name) : 최소값 추출

* COUNT (Column_name): 열의수를 추출

sum 문 사용하기
mysql> select sum(age) from test; 
+----------+ 
| sum(age) | 
+----------+ 
| 128 | 
+----------+ 
1 row in set (0.00 sec) 
    

/기 사용하기
mysql> select no, age, (no+age), (no+age)/2 from test; 
+------+------+----------+------------+ 
| no | age | (no+age) | (no+age)/2 | 
+------+------+----------+------------+ 
| 2 | 29 | 31 | 15.50 | 
| 3 | 29 | 32 | 16.00| 
| 4 | 29 | 33 | 16.50 | 
|5 | 29 | 34 | 17.00 | 
| 6 | 12 | 18 | 9.00 | 
| 1 | NULL | NULL | NULL | 
+------+------+----------+------------+ 
6 rows in set (0.00 sec) 
    

9.35. 나이 계산하기

yser 문 사용하기
mysql> select *, year(curdate())-year(birth)+1 as age from test; 
+------+--------+---------------+--------+------+------------+------+ 
| no | name | tel | addr | sex | birth | age | 
+------+--------+---------------+--------+------+------------+------+ 
| 2 | 이주상 | 02-504-xxxx | 과천시 | m | 1971-02-02 |29 | 
| 3 | 임정남 | 02-420-xxxx | 송파구 |f | 1971-03-03 | 29 | 
| 4 | 강행모 | 02-856-xxxx | 관악구 | f | 1971-04-04 | 29 | 
| 5 |이현영 | 0342-718-xxxx | 분당구 | m | 1971-05-05 | 29 | 
| 6 | 이병환 | 02-891-xxxx | 하안동 | m | 1980-06-06 | 20 | 
| 1 | 남상욱 | 333-4444 | 동작구 | m | 1971-01-01 | 29 | 
+------+--------+---------------+--------+------+------------+------+ 
6 rows in set (0.01 sec) 
    

9.36. 유닉스 시간

unix_timestamp문을 사용한다.
mysql> select unix_timestamp(curdate()); 
  +---------------------------+ 
  | unix_timestamp(curdate()) | 
  +---------------------------+ 
  | 934210800 | 
 +---------------------------+ 
  1 row in set (0.05 sec)
    

9.37. 원격 DB 사용하기

A라는 서버에 DB가 있고, 210.180.56.204에서 프로그램을 돌릴때

A라는 서에있는 mysql mysql 에 다음과 같이 입력을 합니다.

INSERT INTO db VALUES ('210.180.56.204','dbname','user','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');

INSERT INTO host VALUES ('210.180.56.204','dbname','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');

INSERT INTO user VALUES ('210.180.56.204','user','passwd','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');

210.180.56.204 의 컴에서 프로그램을 할때 다음과 같이 설정을 해주면 원격 DB 를 사용할수 있습니다.

$db_server ="servername"; // DB 서버 주소

$db_user = "root"; // DB 사용자

$db_name = ""; // DB 이름

$db_pass = ""; // DB 암호