반응형

1. 사용방법

# ss –[옵션]
-a : 모든 포트 확인
-t : TCP 포트 확인
-u : UDP 포트 확인
-l : LISTEN 상태 포트 확인
-p : 프로세스명을 표시
-n : 호스트 / 포트 / 사용자이름을 숫자로 표시
-i : 정보보기
-s : 통계 정보 보기

> 전체 tcp : ss -at
> 전체 udp : ss -au
> 전체 Listen 포트 : ss -l
> 전체 Listen tcp 포트 : ss-tl
> Established 상태의 포트 조회 : ss -o state established
> 프로세스명 표기 : ss -p
> 소켓 메모리 사용 : ss -ltm
> 연결된 시간 표기 : ss -tn -o
> 1초에 한번 통계 정보 보기 : watch -n 1 "ss -s"
> tcp 연결에 목적지 443 포트나 80 포트 조회 : ss -nt '( dst :443 or dst :80 )'

> tcp의 목적지 IP가 127.0.0.1이고 소스는 5000번 이상 큰 경우 : ss -nt src 127.0.0.1 sport gt :5000
     <= or le : Less than or equal to port
     >= or ge : Greater than or equal to port
     == or eq : Equal to port
     != or ne : Not equal to port
     < or gt : Less than to port
     > or lt : Greater than to port

2. IP와 프로세스 삭제

dport 옵션과 = 포트번호 사이는 반드시 띄어쓰기를 해야한다.

# ss -kill dst 192.168.216.133 dport = 1234

Netid       State        Recv-Q        Send-Q                  Local Address:Port                   Peer Address:Port
tcp         ESTAB        0             0                        192.168.100.122:52218               192.168.216.133:1234

3. 출력 단어 설명
RTO(Retransmission TimeOut) : 타이머가 작동하는 시간을 의미
RTT(Round Trip Time) : 네트워크 통신을 하는 두 노드 간에 패킷이 전달되는데 소요된 시간을 의미

내부 TCP 정보를 표시합니다. 아래 필드가 나타날 수 있습니다.

              ts     타임 스탬프 옵션이 설정된 경우 ts 표시

              sack  sack 옵션이 설정된 경우 sack 표시

              ecn  명시적 정체 알림 옵션이 설정된 경우 ecn 표기 (explicit congestion notification)

              ecnseen 수신 패킷에서 ecn 플래그가 발견된 경우 표기

              fastopen
                     show string "fastopen" if the fastopen option is set

              cong_alg "cubic" 혼합 알고리즘 기본 설정
                     the congestion algorithm name, the default congestion
                     algorithm is "cubic"

              wscale::
                    window 창 옵션을 사용하는 경우 송신 스케일 요소와 수신 스케일 요소를 표시

              rto:
                     TCP 재전송 시간 종료값 (단위는 밀리 초)

              backoff:
                     지수 백 오프 재전송에 사용되는 실제 재전송 시간 초과 값은 icsk_rto << icsk_backoff 

              rtt:/
                     rtt는 평균 왕복 시간이고, rttvar은 rtt의 평균 편차이며, 단위는 밀리초 입니다.

              ato:
                     ack 시간 초과, 단위는 밀리초, 지연 ack 모드에 사용

              mss:
                     최대 세그먼트 크기

              cwnd:
                    혼합 window 크기

              pmtu:
                     경로 MTU 값

              ssthresh:                     
                     tcp 혼합 window 느린 시작 임계값

              bytes_acked:
                     bytes acked

              bytes_received:
                     bytes received

              segs_out:
                     전송된 세그먼트

              segs_in:
                     수신된 세그먼트
                     
              send bps
                     밖으로 나간 bps

              lastsnd:
                     마지막으로 보낸 패킷 이후의 시간은 밀리초입니다.

              lastrcv:
                     마지막으로 받은 패킷 이후의 시간은 밀리초입니다.

              lastack:
                     마지막 ack 이후 수신된 시간은 밀리초입니다.

              pacing_rate bps/bps
                     가격 및 최대 간격

              rcv_space:
                     TCP 내부 자동 튜닝 소켓 수신 버퍼를 위한 도움 변수

반응형
반응형

관련 URL : https://mariadb.com/kb/en/library/installing-the-connect-storage-engine/

 

Installing the CONNECT Storage Engine

Installing the CONNECT storage engine.

mariadb.com

 

MariaDB 10.2 버전부터 connect engine 이 반영되었습니다.

 

CONNECT 스토리지 엔진은 MariaDB가 외부나 원격 데이터에 접근할 수 있습니다.

 

이 스토리지 엔진은 테이블 파티셔닝, MariaDB 가상 컬럼을 지원하며 ROWID, FILEID 및 SERVID와 같은 특수 컬럼을 정의할 수 있습니다.

 

0. CONNECT 스토리지 엔진 설치 여부

 

# mysql -uroot -p 접속

 

MariaDB [ (none) ] > show engines; 

 

 

위 출력 결과에 Engine 컬럼에 CONNECT가 보이지 않는다면 설치되어 있지 않은 상태입니다.

 

현재 이 글을 쓸때 10.3 버전의 최신은 10.3.19이나 버그가 발생하여 10.3.18로 다운 그레이드하여 사용합니ㅏㄷ.

 

1. 플러그인 패키지 설치

 

MariaDB를 설치할 때 레파지토리를 이미 구성하였다고 가정합니다.

 

패키지 설치를 위해 Centos 7 이하 yum / 이상 dnf 를 사용합니다.

 

아래 명령을 수행하면 설치를 위한 ha_connect.so 파일등이 로컬에 설치됩니다.

 

현재 이 문서는 Centos 7 로 수행합니다.

 

# yum install -y MariaDB-connect-engine

 

or

 

특정 버전 지정 설치 (DB 버전과 일치해야 합니다!)

# yum install -y MariaDB-connect-engine-10.3.18

 

 

2. 플러그인 설치

기본적으로 플러그인은 자동으로 설치되지 않습니다.

 

두가지 방법이 있습니다.

 

방법1. INSTALL SONAME  명령 수행하기

 

다음 명령을 통해 ha_connect 를 설치합니다.

 

# mysql -uroot -p

 

MariaDB [(none)]> install soname 'ha_connect';
Query OK, 0 rows affected (0.000 sec)

 

방법2. 환경 설정 파일(my.cnf / server.cnf) 에 추가

[mariadb]

...

plugin_load_add = ha_connect

 

설치후에는 다음과 같이 조회합니다.

 

MariaDB [(none)]> show engines;

 

Engine 컬럼에 CONNECT가 보이면 정상적으로 설치되어 해당 엔진을 사용할 수 있는 상태입니다.

 

3. 플러그인 제거

 

다음 명령을 통해 제거 할 수 있습니다.

 

MariaDB [(none)]> UNINSTALL SONAME 'ha_connect';

 

MariaDB [(none)]> show engines;

 

 

4. 종속성 설치

 

10.2 버전대에는 10.3 이후 버전대와 다르게 unixODBC 라이브러리를 별도로 설치했는거 같습니다.

현재 10.3 버전은 설치 시점에 종속성이 unixODBC라 같이 설치되었기 때문에 별도로 작업은 하지 않습니다.

 

별도 작업시에는 아래 명령을 통해 설치합니다.

 

# yum install unixODBC

 

 

5. 외부 테이블 연결

 

관련 정보 : https://mariadb.com/kb/en/library/connect-table-types/

 

CONNECT Table Types

 

mariadb.com

위의 내용 중 

 

CONNECT MYSQL Table Type: Accessing MySQL/MariaDB Tables

 

부분을 살펴보겠습니다.

 

A Maria 10.4 DB서버 : 192.168.10.191

B Maria 10.3 DB서버 : 192.168.10.194

 

B 서버에서 A서버 test 데이터베이스에 json_test 테이블을 Connect 하겠습니다.

 

※ 무한 루프를 피하기 위해 MYSQL 본인 자체를 참조하지 않도로 주의하세요!

 

※ Connect는 BLOC or TEXT 컬럼은 지원하지 않습니다. 

ERROR 1163 (42000): Storage engine CONNECT doesn't support BLOB/TEXT columns

 

A 서버 json_test 테이블 CREATE 구문

 

CREATE TABLE `connect_test` (
`id` INT(11) NULL DEFAULT NULL,
`DT` DATE NULL DEFAULT NULL,
`TXT` VARCHAR(1000) NULL DEFAULT NULL COLLATE 'utf8_unicode_ci'
)
COLLATE='utf8_unicode_ci'
ENGINE=InnoDB
;

아래 INSERT 문장을 통해 3줄의 데이터를 입력합니다.

INSERT INTO connect_test VALUES (1, CURDATE(), '첫번재 입력');

INSERT INTO connect_test VALUES (2, CURDATE(), '두번재 입력');

INSERT INTO connect_test VALUES (3, CURDATE(), '세번재 입력');

 

COMMIT;

 

 

B 서버에 test 데이터베이스에 new_connect_test를  아래와 같이 명령어를 입력하여 적용합니다.

CREATE TABLE test.`new_connect_test` ( 
`id` INT(11) NULL DEFAULT NULL, 
`DT` DATE NULL DEFAULT NULL, 
`TXT` VARCHAR(1000) NULL DEFAULT NULL COLLATE 'utf8_unicode_ci' 

COLLATE='utf8_unicode_ci' 
ENGINE=CONNECT

table_type=mysql

dbname=test
tabname=connect_test
connection='mysql://root:비밀번호@192.168.10.191'

table_type : Mariadb / mysql 일 때 명시

dbname : 원본(A DB 서버) 데이터베이스 명

tabname : 원본(A DB 서버) 테이블 명

 

아래 실행 결과와 같이 오류가 발생하지 않으면 정상적으로 데이터가 조회됩니다.

 

조회

 

위와 같이 연결된 상태에서 A원본 서버에 데이터를 한건 지우고 나면 B 서버에서도 동일하게 한건 지워진 상태로 조회됩니다.

 

또한 B서버에서 new_connect_test 에 데이터를 입력/삭제하여도 동일하게 원본서버에 connect_test 테이블도 변경됩니다.

 

좀더 상세한 것은 아래 링크를 참조하면 됩니다.

 

https://mariadb.com/kb/en/library/connect-mysql-table-type-accessing-mysqlmariadb-tables/

 

CONNECT MYSQL Table Type: Accessing MySQL/MariaDB Tables

Accessing a MySQL or MariaDB table or view

mariadb.com

 

반응형

'Database > MYSQL' 카테고리의 다른 글

MariaDB JSON 컬럼 및 함수들  (0) 2019.11.04
MariaDB 테이블 백업 및 복구  (0) 2019.11.01
MariaDB 우편번호 Import 하기  (0) 2019.11.01
MariaDB SHA2 512 방식으로 암호화 예제  (0) 2019.10.25
Mysql & MariaDB 튜닝 쉘  (0) 2019.08.14
반응형



서명란이 있는 표지 만들기

에린은 영업 담당 부회장과 최고재무관리자(CFO)가 서명하는 문서의 경로를 정할 계획이다. 그러기 위해서 PDF 패키지의 표지를 만들고 이를 승인 과정에 대한 관리 문서로 사용할 것이다.
기본 표지를 만드는 것은 팩스 표지를 만들고 이를 PDF 문서로 전환하는 것만큼이나 쉬운 일이다<그림12.11>. 파일을 PDF로 변환하는 작업은 2장“문서 저장하기”와 7장“라이브러리 구성하기” 등 여러 장에서 다룬 바 있다.


<그림 12-11> 에린은 팩스 표지를 수정해서 표지를 만들기로 했다.


DOWNLOAD : http://www.donnabaker.ca/downloads.html
에린이 작업하는 원본 PDF 파일을 보려면 routing.pdf를 다운로드 한다.
에린은 표지에 다음과 같은 작업을 해야 한다.
  • 서명 필드를 두 개 추가하고 설정한다.
  • 전자 메일 링크를 두 개 추가하고 설정한다.
에린은 먼저 서명 필드를 추가할 것이다.



서명 필드 추가하기

PDF 문서에서는 에린이 서명에 사용할 밑줄이 이미 쳐 있는 것이 보인다.

첫 번째 필드 만들기
에린이 문서에 첫 번째 서명 필드를 추가하는 방법은 다음과 같다.

1. 도구모음에서 마우스 오른쪽 버튼을 클릭(맥에서는 Control 키를 누르고 클릭)하고 ‘양식’ 선택해서 양식 도구모음을 연다.

2. ‘디지털 서명 도구( )’를 클릭하고 맨 위의 밑줄 위에 드래그를 한다<그림12.12>. 마우스를 놓으면 마키가 완성되고 <디지털 서명 속성> 대화상자가 열린다.

3. [일반] 탭에서, 필드에 이름과 도구 설명을 입력한다<그림12.13>. 에린은 이름 에“Mittal_sig”를, 도구 설명에 “Please sign here”라고 입력했다.

4. [닫기]를 클릭하면 페이지에 필드가 추가되고 대화상자가 닫힌다.

5. 필드의 위치와 크기를 조정한다. 에린은 서명필드를 밑줄 약간 위에 같은 크기로 만들었다<그림12.14>. 이제 이 서명 필드를 CFO 서명에 이용해 보자.


<그림 12-12> 첫 번째 서명 필드의 위치를 지정한다.



<그림 12-13> 첫 번째 서명 필드에 대한 속성을 설정한다.



<그림 12-14> 서명 필드의 위치 및 크기를 페이지 레이아웃에 맞게 조정한다.



<그림 12-15> 페이지에 두 번째 서명 자리를 추가한다. 크기와 위치는 걱정하지 않아도 된다.


두 번째 서명 필드 배치하기
두 번째 서명 필드는 다음과 같이 추가한다.

1. 아래쪽 밑줄 위에 두 번째 서명할 자리를 드래그 한다. 마우스를 놓으면 마키가 생기고 < 디지털 서명 속성> 대화상자가 열린다.

2. [일반] 탭에서, 이름 필드에“Barber_sig”를 도구 설명 필드에“Please sign here”라고 입력한다.

3. [닫기]를 누르고 필드를 완성한다<그림12.15>. 다음에 두 필드의 크기를 조정하고 정렬할 것이다.


필드 정리하기
서명 필드에는 테두리나 배경이 없지만 서명란이라는 표시는 있어야 한다. 두 필드 가 서명 자리라는 것을 알리기 위해 에린이 쓴 방법은 다음과 같다.

1. Shift 키를 누른 채로 두 서명 필드를 클릭해서 모두 선택한다.

2. 필드를 마우스 오른쪽 버튼으로 클릭(맥에서는 Control 키를 누르고 클릭)하고, 단축 메뉴에서 ‘크기 > 모두’를 선택한다. 이제 두 필드가 같은 크기가 되었다.

3. 필드를 마우스 오른쪽 버튼으로 클릭(맥에서는 Control 키를 누르고 클릭)하고, 단축 메뉴에서‘정렬 > 왼쪽’을 선택한다. 이제 두 필드가 같은 위치로 정렬되었다.

4. 양식 도구모음에서‘미리보기 ( )’를 클릭해서 서명 필드의 모양을 점검한다.

5. 서명 영역에 포인터를 올린다. 포인터가 가리키는 손 모양으로 바뀌며 도구 설명이 나타난다<그림12.17>. [디지털 서명 속성] 대화상자에서 도구 설명을 추가해야 하는 것은 아니다. 필드 종류에 따라 기본 설명이 추가되기 때문이다.

6. 양식 도구모음에서‘레이아웃 편집( )’을 클릭해서 계속 페이지를 편집한다.

<그림 12-16> 두 필드가 같은 크기에 왼쪽으로 정렬되었다.


<그림 12-17> 미리보기 모드에서 서명 필드의 모양을 살펴본다.

이제는 문서에 링크 동작(액션)을 추가하자.



전자 메일 링크 만들기

PDF 파일의 링크는 마우스 클릭과 같은 동작을 이용한다. 이번에 에린은 “Forward to Mr,Barver”와 Return to E. Crowley”라는 문구에 전자 메일 링크를 걸 것이다.


첫 번째 링크 걸기

첫 번째 전자 메일 링크를 추가하는 방법은 다음과 같다.

1. 도구모음을 마우스 오른쪽 버튼으로 클릭(맥에서는 Control 키를 누르고 클릭)하고, ‘고급 편집’을 선택해서 이 도구모음을 연다.

2. ‘링크 도구( )’를 클릭하고 페이지에서 “Forward to Mr.Barber”주위를 드래그 한다.

3. 마우스를 놓으면 <링크 만들기> 대화상자가 열린다 <그림12.18>. [링크 모양] 부문에서 링크 유형 옆의 화살표를 클릭하고“보이지 않는 사각형”을 선택한다. 페이지의 텍스트를 링크로 이용할 것이므로 테두리를 칠 필요는 없다.

4. [링크 동작] 부문에서“사용자 정의 링크”를 선택하고 [다음]을 클릭한다. 새로 열린 <링크 속성> 대화상자에서 [동작] 탭을 클릭한다.

5.
동작 선택의 화살표를 클릭해서“웹 링크 열기”를 선택한다(그림12.19). [추가]를 클릭하면 대화상자가 열린다.

6. 대화상자에서 “mailto;abarver@barberblack.com”이라고 입력하고 [확인]을 클릭한다. 입력한 텍스트가 [액션] 탭 하단에 선택한 동작과 함께 표시된다<그림12.20>.

<그림 12-18> 링크는 색상이 적용된 보이는 사각형으로 또는 보이지 않는 사각형으로 만들 수 있다.


<그림 12-19> PDF 파일에 쓸 수 있는 많은 동작 중에서 하나를 선택한다.


<그림 12-20> 동작에 대한 세부사항이 대화상자에 기록되었다.

7. [확인]을 클릭하면 링크가 완성된다. 이 링크를 복사해서 다른 링크를 만들기 위해서 선택 상태를 그대로 유지한다.

출처 : http://www.acrobatpdf.com/tip/detail.asp?id=85&gotopage=9&code=
반응형

+ Recent posts