'리눅스'에 해당되는 글 78건

  1. 2017.03.07 iptables 포워딩
  2. 2017.01.20 mysqldump 옵션
  3. 2016.08.09 binlog로 DB복구
  4. 2016.06.28 전체 용량/사용량
  5. 2016.04.11 heartbaet
  6. 2016.03.28 drdb 구성
  7. 2016.03.10 php 에러
  8. 2016.02.17 php-common 설치 오류
  9. 2016.02.11 my.cnf 위치 찾기
  10. 2016.01.21 연결된 사용자 끊기

iptables 포워딩

리눅스 2017. 3. 7. 10:47

    포워딩


# 커널변수에 IP포워딩 가능하도록 설정 -> 넘기려는 서버

echo 1 > /proc/sys/net/ipv4/ip_forward

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 80 -j DNAT --to 포워딩할IP:80


# 로컬 포트포워딩(8080들어오는 요청을 80으로 포워딩)

iptables -t nat -A PREROUTING -p tcp -d 서버ip --dport 8080 -j REDIRECT --to-port 80


# 확인 

iptables -t nat -L 

'리눅스' 카테고리의 다른 글

전체 용량/사용량  (0) 2016.06.28
heartbaet  (0) 2016.04.11
drdb 구성  (0) 2016.03.28
연결된 사용자 끊기  (0) 2016.01.21
커널 추가하기  (0) 2016.01.21
Posted by Narusika
,

mysqldump 옵션

리눅스/mysql 2017. 1. 20. 14:49

--skip-extended-insert
해당옵션은 MySQL덤프를 뜨는경우 VALUES뒤에 여러 개의 데어터셋이 붙어있는 다중열 신텍스 형태로
덤프 뜨지않아 구문어서 해당라인을 찾기가 용의

--allow-keywords 
MySQL예약어와 동일한 필드명이 있을경우 복원시에 에러가 발생시
이옵션을 이용하여 덤프를 받으면 테이블명와 필드명에 ``해당 기호가 삽입되어 정상적으로 인식

--complet-insert -c
완전한 인서트문을 구성한다 .
 ex) insert into table_name(field1,field2) values(value1,value2)

--no-data
덤프시 데이터를 구성하지 말라는 옵션이다 .
이는 스키마 만 덤프를 받아 개발이나 구성서시 주로이용

--no-create-db
테이블 생성 쿼리를 구성하지 말라는 옵선

--quick, -q
대용량 데이타베이스를 덤프뜰때 유용 
한번에 한열씩 축출하며 쓰기전에 메로리에 버퍼링을 하록 하는옵션

--xml -x
XML형태로 덤프 받을시 이용

--default-chareter-set
덤프받을시 지정하는게릭터셋으로 연결하여 덤프 받는 옵션
하지만 테이블의 언어셋을 변경하여 받아주지는않음.


실제 mysqldump의 옵션은 많지만 주로사용하는것만 기술하였다.

 

2. 간단한 사용법에 대해 알아보자

분명히 euc_kr 데이터가 쌓여있는데 덤프를 받으면 깨지는경우

     -  이는 MySQL 서버가 다른언어셋으로 구성되어 있어 이중으로 인코딩되어 
        한글이나 다른언어들이 깨지는 현상이 발생한다 .
 이경우는 다음고 같이 덤프 받는다.

 mysqldump --default-chareter-set=euckr -u user -p  dbname > dbname.sql


버전이 달라  mysql디비가 인서트가안될경우 
     - 메이져 버전이 다를경우 MySQL데이터베이스안의 user,db,hot등의 테이블 구조가 달라 
       일반적으로 덤프를든경우  정상적으로 인서트되니않는다.
 이경우는 다음고 같이 덤프 받는다.

 mysqldump --complet-insert -u user -p  dbname > dbname.sql


예약어와 동일한 필드명 때문에 인서트가안될경우 
     - 필드명으로 인식하기전에 예약어로 인식하여 에러를 발생시킨다.
 이경우는 다음고 같이 덤프 받는다.

 mysqldump --allow-keywords -u user -p  dbname > dbname.sql

 

보통 덤프를 받을때 
 mysqldump --allow-keywords --default-chareter-set=euckr --skip-opt  -u user -p  dbname > dbname.sql
        위와 같은 형테로 받는다면 큰무리없이 복원이 가능할것이다.


출처 : https://www.linux.co.kr/home/lecture/index.php?cateNo=3&secNo=16&theNo=45&leccode=10956



'리눅스 > mysql' 카테고리의 다른 글

binlog로 DB복구  (0) 2016.08.09
my.cnf 위치 찾기  (0) 2016.02.11
mysql 5.5 이상 캐릭터셋 변경  (0) 2015.08.16
mysql 4.0 설치시 에러  (0) 2015.07.28
mysql 제로보드 패스워드 초기화  (0) 2015.07.09
Posted by Narusika
,

 bin-log를 통해 쿼리문을 추출


/usr/local/mysql/bin/mysqlbinlog –database=dbname –start-date=”2015-04-27 00:00:00″ –stop-date=”2015-04-28 00:00:00″ ./mysql-bin.000050 > backup.sql


(mysql 설치경로의 bin 디렉토리)    (백업할 db명)      (복구할 시작날짜)                     (복구할 마지막 날짜)           (복구에쓰일 bin 로그파일)        >     (복구한 sql 명)

'리눅스 > mysql' 카테고리의 다른 글

mysqldump 옵션  (0) 2017.01.20
my.cnf 위치 찾기  (0) 2016.02.11
mysql 5.5 이상 캐릭터셋 변경  (0) 2015.08.16
mysql 4.0 설치시 에러  (0) 2015.07.28
mysql 제로보드 패스워드 초기화  (0) 2015.07.09
Posted by Narusika
,

전체 용량/사용량

리눅스 2016. 6. 28. 14:40

전체용량

df -P | grep -v ^Filesystem | awk '{sum += $2} END { print sum/1024/1024 " GB" }'


전체 사용량

df -P | grep -v ^Filesystem | awk '{sum += $3} END { print sum/1024/1024 " GB" }'

'리눅스' 카테고리의 다른 글

iptables 포워딩  (0) 2017.03.07
heartbaet  (0) 2016.04.11
drdb 구성  (0) 2016.03.28
연결된 사용자 끊기  (0) 2016.01.21
커널 추가하기  (0) 2016.01.21
Posted by Narusika
,

heartbaet

리눅스 2016. 4. 11. 16:11

 rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm


yum -y install heartbeat*








 . 설정파일

 vi /etc/ha.d/ha.cf


debugfile /var/log/ha-debug.log

logfile /var/log/ha.log

keepalive 2             // 노드간 체크 시간

deadtime 30             //호스트가 죽었다고 판단하는 시간     

bcast eth0              //노드간 인터페이스 설정 

node xen-test1          //master

node xen-test2          //slave

udpport 694             //포트

auto_failback on        //자동복구 on


로그파일 생성

touch /var/log/ha-debug.log

touch /var/log/ha.log




 vi /etc/authkeys

auth 1

1 crc

#2 sha1 HI!

#3 md5 Hello!


위중 원하는것을 auth와 아래 1 2 3 번호중 하나 선택



chmod 600 etc/authkeys      //반드시 !!!





vi /etc/ha.d/haresources

dr1 222.236.47.232/24/eth0:0 drbddisk::drbddata Filesystem::/dev/drbd0::/data::ext4 httpd


(마스터서버)(vip) (drbd스크립트:drbd리소스 이름)(파일시스템 마운트) 


***마스터와 슬레이브 둘다 똑같은 내용으로 작성해야한다.



그리고 사용할데몬의 chkconfig on을 해주자.


heartbeat 마스터부터 시작!








'리눅스' 카테고리의 다른 글

iptables 포워딩  (0) 2017.03.07
전체 용량/사용량  (0) 2016.06.28
drdb 구성  (0) 2016.03.28
연결된 사용자 끊기  (0) 2016.01.21
커널 추가하기  (0) 2016.01.21
Posted by Narusika
,

drdb 구성

리눅스 2016. 3. 28. 09:54

DRBD HA


HA(High Available) : 고 가용성

- 서비스를 오랜 기간동안 지속적으로 정상운영이 가능하게 하는것.


HA Cluster

-시스템이 끊기지 않고 서비스를 가능하게 하는게 목표

클러스터로 묶인 2대중 1대에서 장애가 발생시, 다른서버가 즉시 그 업무를 대신 수행하게 한다.



DRBD(Distributed Replicated BlockDevice)

-HA cluster 구축을 위한 블럭 디바이스. Network Raid-1 동작. 네트워크를 통한 미러링.



------------------------------------------------------------------------------------------



환경 : CentOS 7


* drbd 구성을 위해서는 처음 설치부터 파티션관리가 중요하다 

  파티션을 따로 잡아줘야하기때문에 추가 HDD를 사용하거나 공간을 확보해놓고, 

  설치 후에 파티션 설정을 해주자.


* 시간동기화를 해주자




 1. drbd 설치를 위한 repo 등록

http://elrepo.org/tiki/tiki-index.php


rpm -Uvh elrepo-release-7.0-2.el7.elrepo.noarch.rpm 



 2. 패키지 설치

yum install drbd84-utils kmod-drbd84


 

 3. 호스트 설정


hostnamectl set-hostname dr1          //cent 7은 ctl 명령어를 통해 변경


/etc/hosts 변경


두대 서버는 dr1과 dr2 사용


222.236.47.230  dr1

222.236.47.231  dr2


위처럼 둘다 넣어준다.



 4. 파티션 설정


fdisk or parted


gpt인 관계로 parted로 설정



 p : 파티션 공간 확인

 mkpart : 파티션 분할 명령어

 rm 번호 : 삭제

 q : 나가기


간단하게 나눌수 있다.



 5. drdb 파일 설정


/etc/drbd/파일이름.res



resource drbddata {                 // drdbdate.res로 파일이름 지정

startup {

wfc-timeout 30;                      

degr-wfc-timeout 30;

}

net {

cram-hmac-alg sha1;

shared-secret sync_disk;

}

syncer {

rate 100M;

al-extents 257;

on-no-data-accessible io-error;

}

on dr1 {                               // 호스트 네임

device /dev/drbd0;

disk /dev/sda6;                        // 분할해서 지정한 파티션      

address 222.236.47.230:7788;           // 보통 사설 ip 쓰는 듯, 포트는 임의로...

meta-disk internal;

}

on dr2 {

device /dev/drbd0;

disk /dev/sda6;

address 222.236.47.231:7788;

meta-disk internal;

}

}



 6. meta data 생성


drbdadm create-md drbddata     // 서버 2대 순서대로 해주자



# drbdadm create-md drbddata

You want me to create a v08 style flexible-size internal meta data block.

There appears to be a v08 flexible-size internal meta data block

already in place on /dev/sda6 at byte offset 87999639552


Do you really want to overwrite the existing meta-data?

[need to type 'yes' to confirm] yes


initializing activity log

NOT initializing bitmap

Writing meta data...

New drbd meta data block successfully created.



위처럼 되면 성공!



 7. drbd 구동


systemctl start drbd           // 순차적으로 실행(1 끝나고 2 실행)


cat /proc/drbd 

version: 8.4.7-1 (api:1/proto:86-101)

GIT-hash: 3a6a769340ef93b1ba2792c6461250790795db49 build by phil@Build64R7, 2016-01-12 14:29:40

 0: cs:Connected ro:Secondary/Secondary ds:Inconsistent/Inconsistent C r-----

    ns:0 nr:0 dw:0 dr:0 al:8 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:85934492



위처럼 Secondary/Secondary 나오면 동기화 성공


Secondary/Unknown 둘다 실행했는데 이처럼 나오면 실패



 * 안될경우 방화벽을 살펴 보자. 


cent 7 경우에는 iptables 가 아니고


systemctl stop firewalld       // 요명령어로 방화벽 해제

systemctl mask firewalld       // 방화벽 다시 안올라오게 설정



 8. Master 서버 설정


drbdadm primary --force drbddata           // secondary를 primary로


cat /proc/drbd 

version: 8.4.7-1 (api:1/proto:86-101)

GIT-hash: 3a6a769340ef93b1ba2792c6461250790795db49 build by phil@Build64R7, 2016-01-12 14:29:40

 0: cs:SyncSource ro:Primary/Secondary ds:UpToDate/Inconsistent C r-----

    ns:2710036 nr:0 dw:0 dr:2710948 al:8 bm:0 lo:0 pe:2 ua:0 ap:0 ep:1 wo:f oos:83224540

        [>....................] sync'ed:  3.2% (81272/83920)M

        finish: 13:04:21 speed: 1,760 (1,740) K/sec



위처럼 보이면 동기화가 진행중이다



 drbd-overview              //현재 진행 상황을 볼 수 있다.


 0:drbddata/0  SyncSource Primary/Secondary UpToDate/Inconsistent 

        [>....................] sync'ed:  3.3% (81184/83920)M       




 9. 마운트


mkfs.ext4 /dev/drbd0

mount /dev/drbd0 /data




---------------------------------------------------------------------


modprobe drbd

- 모듈 적재


drbdadm create-md drbddata

- 메타데이터 생성


dd if=/dev/zero of=/dev/sdb bs=1M

- 디스크 초기화 (필요시만 한다)


drbdadm primary --force drbddata

- 동기화전 마스터서버 첫번째로

drbdadm primary drbddata

drbdadm secondary drbddata


drbd-overview

- 동기화 진행확인


'리눅스' 카테고리의 다른 글

전체 용량/사용량  (0) 2016.06.28
heartbaet  (0) 2016.04.11
연결된 사용자 끊기  (0) 2016.01.21
커널 추가하기  (0) 2016.01.21
chattr  (0) 2016.01.19
Posted by Narusika
,

php 에러

리눅스/php 2016. 3. 10. 09:17

PHP Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given

-> date.timezone 설정 확인       (이 에러의 정확한 이유는 잘 모르겠다...)


# php -r "echo date('Y-m-d H:i:s').PHP_EOL;"

2016-03-10 09:13:30


정상적으로 한줄 출력되면 이상없음


---------------------------------------------------------------------------------


Warning: session_start(): open failed: Permission denied (13)

-> 세션 권한 문제


# vi /php.ini


session.save_path = "/var/lib/php/session"


위처럼 경로 확인 하고 경로로 가서 session 디렉토리의 권한을 확인


'리눅스 > php' 카테고리의 다른 글

php-common 설치 오류  (0) 2016.02.17
php imap 설치  (0) 2015.07.20
phpinfo.php 다운로드 될때  (0) 2015.06.30
phpinfo.php  (0) 2015.06.28
Posted by Narusika
,

yum 설치시 에러. 아마 기존설치된 common과 충돌때문인듯

Error: php53-common conflicts with php-common


삭제

yum remove php-common php-zend-optimizer-debuginfo


다시 설치

yum install php53-devel php53-gd php53-mysql

'리눅스 > php' 카테고리의 다른 글

php 에러  (0) 2016.03.10
php imap 설치  (0) 2015.07.20
phpinfo.php 다운로드 될때  (0) 2015.06.30
phpinfo.php  (0) 2015.06.28
Posted by Narusika
,

/usr/local/mysql/bin/mysql --verbose --help | grep -A 1 'Default options'

'리눅스 > mysql' 카테고리의 다른 글

mysqldump 옵션  (0) 2017.01.20
binlog로 DB복구  (0) 2016.08.09
mysql 5.5 이상 캐릭터셋 변경  (0) 2015.08.16
mysql 4.0 설치시 에러  (0) 2015.07.28
mysql 제로보드 패스워드 초기화  (0) 2015.07.09
Posted by Narusika
,

w           사용자 모두 자세히

who        사용자 모두

who -m   현재 나


skill -KILL -v tty



skill -KILL -v pts/0   이렇게 하면 pts/0 제거

'리눅스' 카테고리의 다른 글

heartbaet  (0) 2016.04.11
drdb 구성  (0) 2016.03.28
커널 추가하기  (0) 2016.01.21
chattr  (0) 2016.01.19
그누보드 관리자 패스워드  (0) 2015.12.28
Posted by Narusika
,