1. 사용자 계정 추가

adduser -g users 계정명 -d /home/계정명

2. 계정비밀번호 설정

passwd 계정명

3. 계정 디렉토리의 퍼미션 변경 및 public_html 디렉토리 생성

chmod 701 /home/계정명

ls -d ./home/계정명/ 으로 확인

cd ./home/계정명

mkdir public_html

chmod 701 public_html

4. mysql에 root 비밀번호 부여

mysqladmin -u root -p password '새로운비밀번호'

5. 데이터 베이스(database) 생성

create database 디비명;

6. mysql 새로운 계정 생성 및 권한 부여

grant all privileges on 디비명.* to 유저명@localhost identified by '비밀번호' with grant option;

7. virtualhosts.conf 에 접속하여 버추얼을 등록한다. [http.conf 의 설정마다 틀리므로 확인해 봐야한다.]

cd /etc/httpd/conf/

vi virtualhosts.conf

[1]

<VirtualHost *>

    ServerAdmin  root@abc.co.kr

    DocumentRoot /home/abc/public_html

    ServerName abc.co.kr

    ServerAlias www.abc.co.kr

</VirtualHost>

8. 아파치 리스타트

/usr/local/apache/bin/httpd -t

/usr/local/apache/bin/apachectl restart

9. 네임서버 정보 등록[이부분은 내 서버기준으로 설명]

vi /etc/named.conf  아래의 내용 추가

[]

zone "도메인명" IN {

        type master;

        file "zone.도메인명";

        allow-update { none; };

};

cd /var/named/

vi  zone.도메인명한 다음 아래의 형식으로 작성

[]

$TTL    3600

@       IN      SOA     ns.abc.com. root.ns.abc.com.  (

                                      1997022701 ; Serial

                                      28800      ; Refresh

                                      14400      ; Retry

                                      3600000    ; Expire

                                      3600 )    ; Minimum

                IN      NS      ns.abc.com.

@               IN      A     아이피

www             IN      A     아이피

ftp             IN      A     아이피

ns              IN      A     아이피

mail            IN      A     아이피

@               IN      MX 5  mail

10.네임서버 리스타트

rndc reload

11. 정상적으로 돌기 시작했나 로그 확인

tail -f /var/log/messages

12. 메일 추가

cd /etc/mail

 vi virtusertable

형식 =>이메일주소 [] 계정명

vi local-host-names

형식 => 도메인 주소

 

makemap hash /etc/mail/virtusertable < /etc/mail/virtusertable

13. sendmail 리스타트

/etc/init.d/sendmail restart


AFTER : 테이블에서만 작동하며, 해당 기준 테이블에 이벤트 이후 작동.

BEFORE : 테이블 / 뷰에서 사용가능하며, 해당 기준 테이블에서 이벤트 이전 작동


DELIMITER$$

CREATE TRIGGER [트리거 이름]

[AFTER|BEFORE] [INSERT | UPDATE | DELETE] ON [기준 테이블] 

FOR EACH ROW

BEGIN

[실행 할 쿼리]

END 

$$DELIMITER;




1. 데이터베이스 상에 FEDERATED 엔진(Engine)이 있는 확인

show engines;

2. 엔진(Engine) 없을 경우 설치 

install plugin federated soname 'ha_federated.so'

3. FEDERATED 엔진 설치가 잘 되었는지 확인

show engines;

4. 엔진 사용 할 수 있게 my.cnf에 추가

[mysqld]

federated

5. 엔진의 상태 확인 

show engines;

6. 원격지 테이블 생성

create table `remote_db`.`board` (

`tb_seq` integer not null AUTO_INCREMENT COMMENT '시퀀스',

`title` varchar(100) not null comment '제목',

`context` text null comment '내용'

PRIMARY KEY (`tb_seq`),

UNIQUE KEY `id_UNIQUE`(`id`)

)ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='게시판'

7. 로컬 테이블 생성

create table `local_db`.`board` (

`tb_seq` integer not null AUTO_INCREMENT COMMENT '시퀀스',

`title` varchar(100) not null comment '제목',

`context` text null comment '내용'

PRIMARY KEY (`tb_seq`),

UNIQUE KEY `id_UNIQUE`(`id`)

)ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='게시판'

CONNECTION='mysql://root:test@192.168.0.11:3306/remote_db/board';

8. 로컬에서 원격지의 Table을 로컬 테이블 처럼 사용 가능합니다. select, insert, update, delete 모두 가능 합니다.



1. mysql root 초기 패스워드(Password) 세팅(Setting)

mysqladmin -uroot -p password [설정할 패스워드]

2. 사용자 추가 및 권한 주기

grant all privileges on [데이터베이스명].* to [사용자명]@localhost identified by [비밀번호] with grant option;

flush privileges;

- CSV과 테이블 구조 동일

LOAD DATA LOCAL INFILE [FILE_PATH]

INTO TABLE [DB_NAME.TABLE_NAME] FIELDS TERMINATED BY ",";


테이블에 INDEX가 걸려 있는경우에는 해제 후 실행 권장하며, 해당 INDEX가 걸려 있는 경우 Import 시간이 더 오래 걸릴 수 있다. 


- CSV와 테이블 구조 다른 경우

LOAD DATA LOCAL INFILE [FILE_PATH]

INTO TABLE [DB_NAME.TABLE_NAME] FIELDS TERMINATED BY ","

ENCLOSED BY ""

LINES TERMINATED BY "\n"

(column1,column2,column3, ...);


+ Recent posts