Dev Blog

스크립트 & 소스코드 공유

실무에서 유용하게 쓰는 스크립트와 코드 조각을 블로그 게시판으로 저장하고 공유합니다.

108건의 글

MySQL 데이터베이스 전체 백업과 복구 방법 (mysqldump)

mysqldump를 이용한 MySQL 백업과 복구 방법을 정리한 글이다. 특정 DB·특정 테이블 단위 백업/복구, 여러 DB를 한 번에 백업하는 --databases 옵션, 전체 DB를 백업하는 --all-databases, 기존 테이블을 삭제하고 복구하는 --add-drop-table 옵션의 차이를 명령어 예제로 설명한다.

  • 특정 데이타베이스 하나만을 백업

백업형식 : myslqdump -u DB계정명 -p 백업대상데이터베이스명 > 저장할파일명

복구형식 : mysql -u DB계정명 -p 복구할테이터베이스명 < 저장할파일명

./mysqldump -u root -p mysql > mysql.sql //mysql 디비 백업 예

./mysql -u root -p mysql < ./mysql.sql //mysql 디비 복구 예

// 위 백업결과물인 sql 파일은 디비를 생성하지는 않는다.. 다시말해 복구하려는 디비에 mysql이란 디비가 없다면 복구가 되지않는다.... 이점 유의

// 복구하려는 mysql 디비에 테이블이 이미 존재한다면 복구 실패... sql 파일에서 해당 디비의 테이블을 생성하므로.. 따라서 특정 데이타베이스 하나만을 복구 할 시에는 데이타베이스의 이름만 생성한 다음에 위 방법의 복구하여야 함

  • 특정 데이타베이스의 특정 테이블 하나만을 복구 백업

백업형식 : myslqdump -u DB계정명 -p 데이터베이스명 테이블명 > 저장할파일명

복구형식 : mysql -u DB계정명 -p 데이터베이스명 < 저장할파일명

./mysqldump -u root -p mysql user > user.sql

./mysql -u root -p mysql < user.sql

  • 여러개의 데이터베이스 한번에 백업과 복구

백업형식 : mysqldump -u root -p --databases [옵션] DB1 [DB2 DB3] > 파일명

복구방법 : mysql -u root -p < 파일명

./mysqldump -u root -p --databases mysql test > dbs.sql //mysql, test 디비를 백업

./mysql -u -root -p < dbs.sql //백업된 두 디비를 복구

//--databases 옵션 시 일반 백업과 달리 "CREATE DATABASE ..."문과 "USE DB .." 문이 추가됨

//달리 애기하면 DB를 생성할 필요가 없이 바루 디비가 생성되고 생성된 디비로 전환되고 테이블을 생성하고 인서트로 데이타를 붓는다.. 데이타베이스를 지정하면 안됨

  • Mysql 의 전체 데이타베이스 백업

백업형식 : ./mysqldump -u root -p --all-databases > 파일명.sql

복구형식 : mysql -u root -p < 파일명.sql

//원본 데이타베이스명과 동일한 디비가 생성됨

  • 기존 테이블 삭제후 백업된 파일로 복구를 위한 백업

(mysqldump문으로 데이타베이스 백업 시 각각의 create table문 앞에 drop table문을 삽입한 형태가 된다)

백업형식 : ./mysqldump -u root -p --add-drop-table test > test.sql

//test 데이타베이스를 기존 태이블 삭제문을 추가하여 백업한다

복구형식 : ./mysql -u root -p test < test.sql

//기존 테이블을 삭제하고 복구한다는것에 유의

1、查看库:show databases;

2、建立数据库: create database 库名;

3、选择数据库:use 库名;

4、查看库下的所有表:show tables;

5、查看表结构 :desc表名;(describe缩写)

6、建立数据表:

use 库名;

create table 表名 (字段名 varchar(20)字符串, 字段名 char(1));

7、修改表名:rename table oldname to newname;

8、往表中插入记录:insert into 表名values (‘hyq’,‘m’);

9、显示表中的记录:select * from 表名;

10、更新表中数据:

update 表名 set 字段名1=‘a’, 字段名2=‘b’ where 字段名3=‘c’;

多个字段更新,用逗号隔开

自增 update myTable set vipczz=vipczz+1 where vip=1;

11、将表中记录清空:delete from表名 where id=1;

12、删除数据表:drop table 表名;

13、删除数据库:drop database 库名;

EditPlus 찾기·바꾸기에서 정규표현식 사용하기

EditPlus의 찾기·바꾸기 기능에서 정규식을 사용해 문자열을 치환하는 방법이다. PHP 버전이 올라가며 오류를 내는 $arr[string] 구문을 $arr['string']으로 바꾸는 예제를 통해, 대괄호 안 문자열을 찾는 정규식 \[([A-Za-z][A-Za-z0-9_]*)\]과 괄호 그룹을 참조하는 \1 치환 문법을 설명한다.

에디트플러스의 찾기와 바꾸기 기능에서 정규표현식을 사용할 수 있다.

이 기능을 이용해 특정 문자열을 치환해 보고자 한다.

  1. 상황

PHP 에서 예전에는 오류를 내지 않던 구문이 php 버전이 높아지면서 오류를 내는 구문들이 있다.

ex) $arr[string]

  1. 원하는 작업

작은따옴표 붙이기

$arr[string] ==> $arr['string']

  1. EditPlus 바꾸기 기능

바꾸기 창에서 정규식 체크후에,

찾을말 : [([A-Za-z]+[A-Za-z0-9_]+)]

바꿀말 : ['\1']

  1. 문법설명

[ 로 시작해서 ] 로 끝나는 문자열을 찾는다.

숫자만으로 된것은 찾으면 안되기 때문에, [A-Za-z] 가 1개이상(+) 으로 시작해야 하고,

영문대소 숫자 언드바 로 구성된 문자열을 찾는다.

찾을말에서 괄호 () 안의 문자열이, 바꿀말에서 \1 에 들어간다.

따라서, [string] 이 ['string'] 으로 변환된다.

Linux 디스크 용량 확인하기 - df와 du 명령어 정리

Linux에서 디스크 용량을 확인하는 df와 du 명령어 사용법을 정리한 글이다. df -h로 파티션별 남은 용량, df .로 현재 디렉터리가 포함된 파티션 용량을 확인하고, du -sh로 디렉터리별 사용량을 사람이 읽기 쉬운 단위로 출력하는 방법을 설명한다. 실제 명령 실행 예시도 함께 담고 있다.

Linux 디스크 용량 확인 하기

df : 디스크 남은 용량 확인 (기본 명령어)
df -k : 킬로바이트 단위로 남은 용량 확인
df -m : 메가 바이트 단위로 남은 용량 확인
df -h : 깔끔하게 보여줌
df . : 현재 디렉토리가 포함된 파티션의 남은 용량 확인
du : 현재 디렉토리에서 서브 디렉토리까지 용량 확인
du -a : 현재 디렉토리의 사용량 파일단위로 출력
du -s : 총 사용량
du -h : 깔끔하게 보여줌
**du -sh *** : 한단계 서브 디렉토리 기준으로 보여줌

$ df .
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/xvda1      10473452 8685140   1788312  83% /
$ df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        475M     0  475M   0% /dev
tmpfs           492M     0  492M   0% /dev/shm
tmpfs           492M   19M  473M   4% /run
tmpfs           492M     0  492M   0% /sys/fs/cgroup
/dev/xvda1       10G  8.3G  1.8G  83% /
tmpfs            99M     0   99M   0% /run/user/0

CSS로 예쁜 밑줄(언더라인) 효과 만들기

텍스트 아래에 예쁜 밑줄 효과를 넣는 CSS 기법을 보여주는 CodePen 예제다. background-image에 linear-gradient를 지정해 밑줄의 굵기·색상·위치를 자유롭게 조절하거나, border-bottom과 text-decoration을 활용해 깔끔한 언더라인을 구현한다. HTML과 CSS 코드를 함께 제공한다.

HTML

<p> 하늘이 처음 이 세상에서
너의 운명을 정하실 때에 날 미처 모르고
다른 사람을 보내셨기에
<span>우린 이렇게 눈물 남기고 스쳐야 할 인연 인가봐
남은 여생은 하루처럼 생각하며 살다 가기로 해
그저 남보다 조금 긴 하루라고 여기면 돼

*내가 하늘로 돌아가면 눈물로 천년동안 빌겠어
이 다음 생애엔 꼭 이룰 수 있게 도와 달라고

잠시만 서로 맡기는 거야
사연이 많아 천년 후에야 되찾으러 가는 것뿐야</span>
남은 여생은 하루처럼 생각하며 살다 가기로 해
그저 남보다 조금 긴 하루라고 여기면 돼
내가 하늘로 돌아가면 눈물로 천년동안 빌겠어
이 다음 생애엔 꼭..이룰 수 있게 도와 달라고 </p>

CSS

p{line-height:170%;}
span{
background:linear-gradient(to right, #f60, #9c0) no-repeat right bottom;
background-size:0 2px;
transition:background-size 1s;
}
span:hover{
background-position:left bottom;
background-size:100% 2px;

}

DEMO

See the Pen Untitled by H J (@H-J-the-typescripter) on CodePen.

문장의 span에 예쁘게 백그라운드(형광펜) 넣기

문장 일부 span에 형광펜처럼 예쁜 백그라운드를 입히는 CSS 방법을 보여주는 CodePen 예제다. span에 배경색과 padding을 적용하고 line-height를 함께 조절해, 줄바꿈이 발생해도 배경이 끊기지 않고 자연스럽게 채워지도록 꾸민다. HTML과 CSS 예제 코드를 제공한다.

HTML

<p> 하늘이 처음 이 세상에서
너의 운명을 정하실 때에 날 미처 모르고
다른 사람을 보내셨기에
<span>우린 이렇게 눈물 남기고 스쳐야 할 인연 인가봐
남은 여생은 하루처럼 생각하며 살다 가기로 해
그저 남보다 조금 긴 하루라고 여기면 돼

*내가 하늘로 돌아가면 눈물로 천년동안 빌겠어</span>
이 다음 생애엔 꼭 이룰 수 있게 도와 달라고

잠시만 서로 맡기는 거야
사연이 많아 천년 후에야 되찾으러 가는 것뿐야
남은 여생은 하루처럼 생각하며 살다 가기로 해
그저 남보다 조금 긴 하루라고 여기면 돼
내가 하늘로 돌아가면 눈물로 천년동안 빌겠어
이 다음 생애엔 꼭..이룰 수 있게 도와 달라고 </p>

CSS

p{line-height:170%;}
span{
background:linear-gradient(90deg, #f60, #9c0);
border:1px solid #000;
padding: 0 .5em;
border-radius:.3em;
box-decoration-break:clone;
-webkit-box-decoration-break:clone;
}

DEMO

See the Pen Untitled by H J (@H-J-the-typescripter) on CodePen.



Let's create something great together.

프로젝트 문의 및 견적 요청은 언제든 환영합니다.