mysql 덤프 / 임포트

Linux & Solaris 2009. 8. 1. 21:43 posted by JP™

-- MySQL 덤프
$ mysqldump DB 테이블 -u계정 -p -q -d --default-character-set=euckr > 저장파일 위치/파일명

mysqldump 옵션
-A, --all-database : 모든 DB를 덤프
--add-locks : 덤프 전에 lock 덤프 후에 unlock
--add-drop-table : 덤프 이후에 출력물의 앞에 drop table 명령 추가(복구할 때 사용)
--skip-extended-insert : 데이터셋 하나당 insert문 하나로


-B, --database : 여러 DB를 통시에 덤프 할 때 사용
-f, --force : 에러무시
-h, --host : 지정한 호스트의 데이터를 덤프
-t : data만 덤프
-d : 데이터를 제외한 스키마만 덤프
-p : 사용자의 암호를 지정
-P : 포트번호 지정
-u : 사용자명 지정
-w, --where= : 조건
-c : 완벽한 insert문 생성


-- MySQL 임포트
$ mysql -u계정 -p DB < 저장파일 위치/파일명



'Linux & Solaris' 카테고리의 다른 글

솔라리스 DNS설정 스크립트  (6) 2009.08.04
awstats 웹 분석툴 사용하기  (1) 2009.08.04
mysql 덤프 / 임포트  (16) 2009.08.01
디스크 쿼타 지정  (0) 2009.08.01
실행권한 없는 /tmp 파티션 만들기  (0) 2009.08.01
리눅스 / 솔라리스 IP 변경 방법  (2) 2009.08.01

  1. Commented by 初めて女性と遊ぶ時☆ at 2011.06.03 12:12

    들어가주십시오

  2. Commented by 찌짐이 at 2012.09.15 13:43

    좋은글 잘보고 갑니다.

  3. Commented by Cheap Oakley Sunglasses Frames at 2014.10.17 22:06

    이용약관위배로 관리자 삭제된 댓글입니다.

  4. Commented by Cheap Oakley Sunglasses Amazon Outlet at 2014.10.17 22:07

    이용약관위배로 관리자 삭제된 댓글입니다.

  5. Commented by Cheap Oakley Forsake Sunglasses On Sale at 2014.10.17 22:08

    이용약관위배로 관리자 삭제된 댓글입니다.

  6. Commented by Oakley Outlet at 2014.10.17 22:09

    이용약관위배로 관리자 삭제된 댓글입니다.

  7. Commented by Cheap Wholesale Fake Oakleys at 2014.10.17 22:10

    이용약관위배로 관리자 삭제된 댓글입니다.

  8. Commented by ヴィトンの購入 at 2014.10.18 15:02

    이용약관위배로 관리자 삭제된 댓글입니다.

  9. Commented by Men Ugg Slippers at 2014.10.19 00:07

    이용약관위배로 관리자 삭제된 댓글입니다.

  10. Commented by Ugg Mens Slippers at 2014.10.19 00:07

    이용약관위배로 관리자 삭제된 댓글입니다.

  11. Commented by Cheap Uggs For Women at 2014.10.19 00:08

    이용약관위배로 관리자 삭제된 댓글입니다.

  12. Commented by グッチ 財布 素材 て at 2014.10.20 20:23

    이용약관위배로 관리자 삭제된 댓글입니다.

  13. Commented by gucci 財布 風水 き at 2014.10.20 20:24

    이용약관위배로 관리자 삭제된 댓글입니다.

  14. Commented by グッチ バッグ キャンバス トート at 2014.10.20 20:25

    이용약관위배로 관리자 삭제된 댓글입니다.

  15. Commented by グッチ 財布 メンズ ラウンドファスナー at 2014.10.20 20:25

    이용약관위배로 관리자 삭제된 댓글입니다.

  16. Commented by グッチ 鞄 レディース ショルダー at 2014.10.20 20:26

    이용약관위배로 관리자 삭제된 댓글입니다.

디스크 쿼타 지정

Linux & Solaris 2009. 8. 1. 21:36 posted by JP™


디스크 쿼타
  ; 사용자 디스크 할당 제한 (block , 파일갯수)
 
 
 
 
1. 커널지원여부
 
2. fstab 옵션추가 (usrquota,grpquota) : # vi /etc/fstab
 
3. remount (umount , mount) : # mount -o remount /home
 
4. 데이터베이스 파일생성(quota.user , quota.group) :
  # touch quota.user
  # chmod go= quota.user
  # quotacheck -avum   
  # convertquota -u /home    
 
5. 사용자마다 적용수치 기록 : # edquota test1   
  # repquota -au
  

 

 

(예제)
 
# vi /etc/fstab    -- fstab 옵션 추가 입력 ( usrquota) , 그룹은 (grpquota)
 
LABEL=/                 /                       ext3    defaults        1 1
LABEL=/boot             /boot                   ext3    defaults        1 2
none                   /dev/pts               devpts gid=5,mode=620  0 0
LABEL=/home             /home                   ext3    defaults,usrquota        1 2
LABEL=/opt              /opt                    ext3    defaults        1 2
none                    /proc                   proc    defaults        0 0
none                    /dev/shm                tmpfs   defaults        0 0
LABEL=/usr              /usr                    ext3    defaults        1 2
/dev/hda6               swap                    swap    defaults        0 0
/dev/cdrom              /mnt/cdrom              udf,iso9660 noauto,owner,kudzu,ro 0 0
# /dev/cdrom          /opt/cdrom       udf,iso9660 noauto,owner,kudzu,ro 0 0
/dev/fd0                /mnt/floppy             auto    noauto,owner,kudzu 0 0

 
 
 
# mount -o remount /home  -- 리마운트

 
 
[root@h179 patch]# mount
/dev/hda3 on / type ext3 (rw)
none on /proc type proc (rw)
usbdevfs on /proc/bus/usb type usbdevfs (rw)
noneon/dev/ptstypedevpts(rw,gid=5,mode=620)
/dev/hda8 on /home type ext3 (rw,usrquota)
none on /dev/shm type tmpfs (rw)
/dev/hda5 on /usr type ext3 (rw)
/dev/hda2 on /boot type ext3 (rw)
/dev/hda6 on /opt type ext3 (rw)
 
 
 
[root@h179 patch]# cd ..
[root@h179 home]# touch quota.user   -- /home 으로 와서 quota.usr 파일 생성 ( 그룹은 quota.group)
 
 
 
 
[root@h179 home]# chmod go= quota.user   -- go 의 권한을 모두 뺀다 (다른 유저들이 파일내용을 볼수없도록 하기위해)
[root@h179 home]# ls -al quota.user
-rw-------    1 root     root            0  5월 26 15:25 quota.user
 
 
 
[root@h179 home]# quotacheck -avum   
  -- 현재 quota 상태를 체크한다
  -- avum 에서 u가 user를 뜻한다. (그룹은 -avgm 으로 한다.)
  -- 오류메세지가 나면 -f 옵션을 주어 재명령한다.

quotacheck: WARNING - Quotafile /home/quota.user was probably truncated. Can't save quota settings...
quotacheck: Scanning /dev/hda8 [/home] done
quotacheck: Checked 86 directories and 387 files
 
 
 
[root@h179 home]# convertquota -u /home    
  -- quota.user 파일을 aquota.user 로 변환
  -- 리눅스 쿼터 데이터파일은 aquota.user 파일을 지원하므로 변환해주어야한다. (단순복사는 안된다)       
[root@h179 home]# ls
  aquota.user       linux1       quota.user
 
 
 
 
[root@h179 home]# repquota -au   -- 사용자들의 디스크할당 정도를 출력해본다
*** Report for user quotas on device /dev/hda8
Block grace time: 7days; Inode grace time: 7days
                        Block limits                File limits
User            used    soft    hard  grace    used  soft  hard  grace
----------------------------------------------------------------------
root      --   26256       0       0            408     0     0
linux1    --      44       0       0             11     0     0
test      --      32       0       0              8     0     0
test1     --      20       0       0              5     0     0
test4     --      36       0       0             10     0     0
test5     --      32       0       0              8     0     0
test8     --      28       0       0              7     0     0
test9     --      32       0       0              8     0     0
test3     --      28       0       0              7     0     0
 
※ 0은 무한대를 의미
block : 현제 사용중인 블럭량(단위 : KByte)
soft : 보통의 경우 사용자가 사용할 수 있는 최대용량(사용량경고)
  ※ 만약 여기에 지정한 용량이 hard 에 지정한 값보다 작을 경우
  hard용량까지 지정한 유예기간(grace period)동안은 초과가능
hard : 블럭 사용 제한량(단위 : KByte)


inodes : 현제 사용중인 파일 수
soft : 파일 사용량 경고
hard : 파일 사용량 제한

soft => 보통의 경우 사용자가 사용할 수 있는 최대 용량을 나타낸다. 만약 여기에 지정한 용량이 hard
에 지정한 값보다 작을 경우 hard용량까지 지정한 유예기간(grace period)동안은 초과가능

hard=> 실제 사용자가 최대로 사용할 수 있는 용량(KB)를 의미한다.

inodes=> 현재 사용중인 inode를 나타낸다.

soft=> 사용자에게 지정하는 inode의 값으로 파일또는 디렉토리를 생성할 수 있는 갯수

hard=> 절대 초과할수 없는 inode값으로 사용자가 생성할수 있는 파일 또는 디렉토리의 최대값이다.

 


[root@h179 home]# edquota test1  -- test1 사용자의 디스크할당을 편집한다.

[root@h179 home]# edquota -p test1 test2 test3 -- test1 사용량을 test2 test3 에 똑같이 배정

★ 디스크할당을 해줄 계정은 그 디스크내에 생성되어 있어야만 한다.
 
[root@h179 home]# repquota -au  -- 편집된 test1의 디스크할당을 출력한다.
*** Report for user quotas on device /dev/hda8
Block grace time: 7days; Inode grace time: 7days
                        Block limits                File limits
User            used    soft    hard  grace    used  soft  hard  grace
----------------------------------------------------------------------
root      --   26256       0       0            408     0     0
linux1    --      44       0       0             11     0     0
test      --      32       0       0              8     0     0
test1     --      20    1000    1500              5    10    15
test4     --      36       0       0             10     0     0
test5     --      32       0       0              8     0     0
test8     --      28       0       0              7     0     0
test9     --      32       0       0              8     0     0
test3     --      28       0       0              7     0     0
 
 
 
 
[root@h179 home]# quotaon /home   -- 디스크할당을 적용시킨다.
 
 
 
 
※ file limits - soft : 지정해준 숫자만큼 파일갯수가 늘어나면 경고메세지를 출력한다.
※ file limits - hard : 지정해준 숫자까지만 파일을 생성할수 있다
※ Block limits - 파일의 용량에 관계된다.
※ [root@h179 home]# quotaoff /home   -- 디스크할당을 해제한다.

 


※ 아래 설정을 위해서는 /tmp 파티션이 따로 잡혀 있어야 합니다.


실행권한 없는/tmp  파티션 만들기

웹응용프로그램(apache) 취약성을 이용한 웹 해킹에 따른 방지 방법입니다.


tmp 디렉토리로 /tmp 를 사용하기도 합니다.
하지만 일부 버그를 이용하여 /tmp 파일에 스크립트를 넣고 실행 시키는 경우가 많습니다.
 

이에따라 /tmp 디렉토리를 다시 생성, 보안설정을 하여 마운트 하는 방법을 설명합니다.
 

1. /tmp 로 쓰이게될 100MB의 용량을 생성한다. 만약 더 큰 용량을 원한다면 count 사이즈를 높히면 됩니다.
   $ dd if=/dev/zero of=tmphdd bs=1024 count=100000

2. 파일시스템을 만들고 (-j : ext 3 , 무옵션 : ext2)
   $ /sbin/mke2fs -j /dev/tmphdd

   완료가 되면 파티션 생성과 파일시스템이 만들어 지며


3. rsync 또는 cp를 사용하여 임시 디렉토리를 만들고 데이터를 백업합니다.
   이제 기존 데이타를 옮기고

   $ rsync -av /tmp /var/tmp_BAK

   $ chmod 1777 /tmp/

4. tmphdd 를 마운트 할때 옵션 몇가지를 추가합니다.
   $ mount -o loop,noexec,nosuid,rw /dev/tmphdd /tmp

   실행권한을 주지 않고 마운트 합니다.

5. 기존자료를 복구합니다.
   $ cd /tmp

   $ rsync -av /var/tmp_BAK/tmp/ ./
 

6. 백업되었던 파일을 삭제 합니다.

   $ rm -rf /var/tmp_BAK/tmp/

7. 부팅시 fstab 에 추가해야 다음 리붓에도 적용시키기 위해 /etc/fstab 에 한줄의 라인을 추가합니다.

   $ /dev/tmphdd /tmp ext3 loop,noexec,nosuid,rw 0 0

  

8. 완료 후 테스트는 /tmp 디렉토리에 실행 파일을 넣고 실행시켜 봅니다.

   $ /tmp/a.out


   bash: ./a.out: Permission denied


 

9. 아파치도 재실행하여 웹로그인이 되는지 확인하고