[mariaDB] 계정 생성 및 권한 주기

마리아디비에 접속
# mysql -u root -p
Enter password: 패스워드 입력

데이터베이스 리스트 확인
# show databases;

없다면 생성
# create database DB명;

기본으로 생성되어 있는 mysql 데이터베이스를 사용한다
# use mysql;

mysql의 user 테이블에서 이미 생성된 계정 확인
# select host, user, password from user;

mysql은 보안상 기본적으로 외부접속을 허용하지 않기 때문에
계정을 생성할떄 특정 IP 혹은 localhost 를 지정하거나 %를 지정하여 외부접속을 허용할 수 있다.

user1 계정 생성
# create user '계정아이디'@'접속위치' identified by '패스워드';
ex. create user 'user1'@'%' identified by 'user!@#$';

user1 권한 주기
# grant all privileges on DB이름.테이블 to '계정아이디'@'접속위치';
ex. grant all privileges on testDB.* to 'user1'@'localhost';            
        //localhost 는 내부에서만 접속가능
     grant select on testDB.* to 'user1'@'%';

권한 확인
# show grants for 'user1'@'접속위치';

계정 삭제
# drop user '계정아이디'@'접속위치';
ex. drop user 'user1'@'%';

권한 삭제
# revoke all on DB이름.테이블 FROM '계정아이디'@'접속위치';

 

 

[전자정부 프레임워크 3.2] sql 로그 찍기

log4j란?
Log For Java란 뜻으로, 자바 어플리케이션에서 빠르고 효과적으로 로깅 할 수 있도록 도와주는 오픈소스이다.

pom.xml
        <dependency>
            <groupId>com.googlecode.log4jdbc</groupId>
            <artifactId>log4jdbc</artifactId>
            <version>1.2</version>
            <exclusions>
                <exclusion>
                    <artifactId>slf4j-api</artifactId>
                    <groupId>org.slf4j</groupId>
                </exclusion>
            </exclusions>
        </dependency>


context-datasource.xml
    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
     <qualifier value="dataSource1" />
        <property name="driverClassName" value="net.sf.log4jdbc.DriverSpy"/>
        <property name="url" value="jdbc:log4jdbc::mysql://00.000.00.000:3306/test" />
        <property name="username" value="root"/>
        <property name="password" value="password"/>
    </bean>

log4j2.xml
<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
    <Appenders>
        <Console name="console" target="SYSTEM_OUT">
            <PatternLayout pattern="%d %5p [%c] %m%n" />
        </Console>
    </Appenders>
    <Loggers>
        <Logger name="java.sql" level="DEBUG" additivity="false">
            <AppenderRef ref="console" />
        </Logger>
        <Logger name="egovframework" level="DEBUG" additivity="false">
            <AppenderRef ref="console" />
        </Logger>
          <!-- log SQL with timing information, post execution -->
        <Logger name="jdbc.sqltiming" level="DEBUG" additivity="false">
            <AppenderRef ref="console" />
        </Logger>
        <Logger name="org.springframework" level="INFO" additivity="false">
            <AppenderRef ref="console" />
        </Logger>
        <Root level="INFO">
            <AppenderRef ref="console" />
        </Root>
       
    </Loggers>
</Configuration>

HTTP 요청, 응답 확인(curl)

curl
쉘상에서 http 메세지를 요청하여 응답을 받는다

사용법
curl 옵션
-d : post방식으로 요청
-i : header, body를 모두 볼 수 있다

POST방식
curl -d "req=val1&req2=val2" http://122.100.171.168:8080/media/status.do

GET방식
curl http://122.100.171.168:8080/media/status.do?req=val1&req2=val2

시스템관리_disk_df

df
디스크 사용량 체크

사용 옵션 정리
-h : 용량을 사람이 보기 쉬운 단위로 표시합니다. (1m를 1,048,576단위로 계산, h는human의 약자)
-H : 용량을 사람이 보기 쉬운 단위로 표시해준다. (1m를 1,000,000단위로 계산)
-k : 용량을 KB 단위로 표시합니다.-i : i 노드의 사용정보를 표시합니다.

 Filesystem                  Size     Used     Avail     Use%    Mounted on
/dev/cciss/c0d0p8       4.8G     2.3G      2.2G       52%        /
/dev/cciss/c0d0p3       456G    127G      306G      30%        /home
/dev/cciss/c0d0p9       2.9G     77M       2.7G      3%         /tmp
/dev/cciss/c0d0p7       19G      2.1G      16G       12%        /usr
/dev/cciss/c0d0p6       19G      3.8G      15G       21%        /var
/dev/cciss/c0d0p2       19G      742M     18G       5%         /var/lib/mysql
/dev/cciss/c0d0p5       19G      1.4G      17G       8%         /opt
/dev/cciss/c0d0p1       487M    22M       440M     5%        /boot
tmpfs                           8.0G     0           8.0G      0%        /dev/shm

출력내용
1. Filesystem
파일시스템의 장치명(device name)
2. Size
파일시스템의 할당된 용량
3. Used
사용하고 있는 용량
4. Avail
사용가능한(사용되지 않는 남은) 용량
5. Use%
사용률. 전체 할당된 용량에서 사용하고 있는 용량의 백분율
6. Mounted on
파일시스템이 마운트된 마운트 포인트

 

시스템관리_메모리_top


top 
시스템 사용량 확인

사용옵션 정리

$ top [옵션]

입력후 사용하는 옵션

1 :  cpu 갯수별 사용량 보기

shift + m : 메모리 사용량이 큰 순서로 정령

shift + p : CPU 사용량이 큰 순서로 정렬

shift + t : 실행시간이 큰 순서로 정렬

k : 프로세스  kill  - k 입력 후 종료할 PID 입력 signal을 입력하라고 하면 kill signal인 9를 입력

c : 명령인자 표시/비표시

space bar : refresh

u : 입력한 유저의 프로세스만 표시 - which u

q : 종료

출력 내용

 top - 14:16:52 up 4 days,  5:25,  3 users,  load average: 0.00, 0.01, 0.05
Tasks: 131 total,   1 running, 130 sleeping,   0 stopped,   0 zombie
Cpu(s):  2.4%us,  0.3%sy,  0.0%ni, 97.0%id,  0.2%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   8140668k total,  7900820k used,   239848k free,  3074544k buffers
Swap:  8349692k total,    13476k used,  8336216k free,  3792984k cached
PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND

각 라인별 내용 

top - 14:16:52 up 4 days,  5:25,  3 users,  load average: 0.00, 0.01, 0.05

현재 시간, uptime (서버 uptime), 현재 로그인 유저수 , 로드 에버리지 1분 5분 15분


 로드 에버리지(load average)란? 

 - 작업의 대기시간 , 값이 1이라면 1분동안 평균 1개의  프로세스가 대기상태임을 나타낸다.

   보통 5이면 서버가 부하를 받는다고 생각함, 10~15면 과부하


Tasks: 131 total,   1 running, 130 sleeping,   0 stopped,   0 zombie 

전체 프로세스 수, 현재 실행중인 프로세스, 유휴상태 프로세스, 정지상태 프로세스, 좀비 프로세스


Cpu(s):  2.4%us,  0.3%sy,  0.0%ni, 97.0%id,  0.2%wa,  0.0%hi,  0.0%si,  0.0%st

사용자가 사용중인 CPU 사용률(us), 시스템이 사용하는 CPU 사용률(sy), NICE 정책에 의해 사용되는 CPU 사용률(ni), 사용되지 않은 CPU의 미사용률(id), 입출력 대기상태의 사용률(wa)


Mem:   8140668k total,  7900820k used,   239848k free,  3074544k buffers 

전체 물리적인 메모리, 사용중인 메모리(used), 사용되지 않는 여유 메모리(free), 버퍼된 메모리(buffers)


Swap:  8349692k total,    13476k used,  8336216k free,  3792984k cached 

전체 스왑 메모리, 사용중인 스왑 메모리, 남아있는 스왑메모리, 캐싱메모리


세부정보 필드명

PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND

    * PID : 프로세스 ID (PID)

    * USER : 프로세스를 실행시킨 사용자 ID

    * PRI : 프로세스의 우선순위 (priority)

    * NI : NICE 값. 일의 nice value값이다. 마이너스를 가지는 nice value는 우선순위가 높음.

    * VIRT : 가상 메모리의 사용량(SWAP+RES)

    * RES : 현재 페이지가 상주하고 있는 크기(Resident Size)

    * SHR : 분할된 페이지, 프로세스에 의해 사용된 메모리를 나눈 메모리의 총합.

    * S : 프로세스의 상태 [ S(sleeping), R(running), W(swapped out process), Z(zombies) ]

    * %CPU : 프로세스가 사용하는 CPU의 사용율

    * %MEM : 프로세스가 사용하는 메모리의 사용율

    * COMMAND : 실행된 명령어

 

참조 : http://bluelimn.tistory.com/

 

 

 

시스템관리_CPU_SAR(System Activity Reporter)

Sar
시스템 관리 툴

설치방법

Sysstat을 다운로드(http://sebastien.godard.pagesperso-orange.fr/download.html) 받아 설치.

sar에서 확인할 수 있는 사항
- I/O 전송량 - 페이징- 프로세스 생성 숫자
- 블락 디바이스 활동
- 인터럽트 - 네트워크 통계
- run 큐 및 시스템 부하 평균
- 메모리와 스왑 공간 활용 통계
- 메모리 통계
- CPU 이용도
- 특정 프로세스에 대한 CPU 이용도
- inode, 파일, 기타 커널 테이블에 대한 상태
- 시스템 스위칭 활동(context switch)
- 스와핑 통계 - 특정 프로세스 통계
- 특정 프로세스의 자식 프로세스 통계
- TTY 디바이스 활동


사용옵션 정리
- sar명령어에 옵션을 주지 않고 수행했을 경우 -u옵션이 default로 적용된다.
- sar -A: 모든 관련정보를 출력한다.
- Shell> sar

%user : 사용자 레벨(application level) 에서 실행중일때의 CPU 사용률 (%) 
%nice : 사용자 레벨(appliaction level) 에서 nice 가중치를 준 CPU 사용률(%) 
%system : 시스템레벨(kernel) 에서 실행중일때의 CPU 사용률(%) 
%iowait : system이 I/O요청을 처리하지 못한 상태에서의 CPU의 idle 상태인 시간의 비율(%) 
%steal : virtual processer에 의한 작업이 진행되는 동안 virtual CPU에 의해 뜻하지 않는 대기시간이 생기는 시간의 비율(%) 
%idle : CPU가 쉬고있는 시간의 % 

Linux 2.6.18-128.el5 (newTest2)  2015년 02월 25일  _x86_64_   (4 CPU)
11시 00분 01초  CPU  %user  %nice   %system  %iowait  %steal   %idle
11시 10분 01초   all      0.07     0.00       0.07         0.48       0.00     99.37
11시 20분 01초   all      0.09     0.00       0.08         0.47       0.00     99.36

 

참조 : http://www.cubrid.com/zbxe/71317

 

 

 

 

 

'OS > linux' 카테고리의 다른 글

리눅스(centos) 에 SVN(subversion) 설치  (1) 2016.06.20
tomcat catalina.out 재시작 없이 초기화시키기  (1) 2016.05.26
HTTP 요청, 응답 확인(curl)  (0) 2015.02.25
시스템관리_disk_df  (0) 2015.02.25
시스템관리_메모리_top  (0) 2015.02.25