Dev Blog

스크립트 & 소스코드 공유

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

2건의 글

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 库名;

Linux/SSH tar 명령어 총정리 - 압축·해제·분할 압축

Linux에서 자주 쓰는 tar 명령어를 파일 형식별로 정리한 글이다. tar, gz, tar.gz, bz2, tar.bz2, Z, tgz, zip, lha, rar 형식별 압축·해제 명령과, 대용량 파일을 지정 크기로 분할 압축하는 split 사용법, 분할 파일을 cat으로 합친 뒤 해제하는 과정, rar 설치 방법까지 설명한다.

关于这个Tar命令,与其说是压缩和解压文件,不如说我们平时都用它来打包文件。这个命令最大的作用应该是在备份网站数据上了,我习惯先Tar打包数据,再用备份VPS wget一下,当然数据库部分就另算了~呵呵,关于网站备份我会另写文章,这里简单和大家分享一下这个Tar命令的参数和用法(以文件格式分类)~

01-.tar格式

  • 解包:tar xvf FileName.tar
  • 打包:tar cvf FileName.tar DirName(注:tar是打包,不是压缩!)

02-.gz格式

  • 解压1:gunzip FileName.gz
  • 解压2:gzip -d FileName.gz
  • 压 缩:gzip FileName

03-.tar.gz格式

  • 解压:tar zxvf FileName.tar.gz
  • 压缩:tar zcvf FileName.tar.gz DirName

04-.bz2格式

  • 解压1:bzip2 -d FileName.bz2
  • 解压2:bunzip2 FileName.bz2
  • 压 缩: [*******]$ bzip2 -z FileName

05-.tar.bz2格式

  • 解压:tar jxvf FileName.tar.bz2
  • 压缩:tar jcvf FileName.tar.bz2 DirName

06-.bz格式

  • 解压1:bzip2 -d FileName.bz
  • 解压2:bunzip2 FileName.bz

07-.tar.bz格式

  • 解压:tar jxvf FileName.tar.bz

08-.Z格式

  • 解压:uncompress FileName.Z
  • 压缩:compress FileName

09-.tar.Z格式

  • 解压:tar Zxvf FileName.tar.Z
  • 压缩:tar Zcvf FileName.tar.Z DirName

10-.tgz格式

  • 解压:tar zxvf FileName.tgz

11-.tar.tgz格式

  • 解压:tar zxvf FileName.tar.tgz
  • 压缩:tar zcvf FileName.tar.tgz FileName

12-.zip格式

  • 解压:unzip FileName.zip
  • 压缩:zip FileName.zip DirName

13-.lha格式

  • 解压:lha -e FileName.lha
  • 压缩:lha -a FileName.lha FileName

14-.rar格式

  • 解压:rar x FileName.rar或unrar -e FileName.rar
  • 压缩:rar a FileName.rar FileDir

有关rar请到:http://www.rarsoft.com/download.htm 下载!
解压后请将rar_static拷贝到/usr/bin目录(其他由$PATH环境变量
指定的目录也行): cp rar_static /usr/bin/rar
15.在linux下分卷压缩

tar cvzpf - vmvps | split -d -b 50m

上面的命令是将vmvps这个文件夹分卷压缩,每卷50m,分卷会被命名为x00,x01,x02

在linux下解压
首先需要合并:
合并的命令是: cat x*>vmvps.tar.gz
然后解压:tar xzvf vmvps.tar.gz

在windows下合并文件
copy /b x* www.rar



Let's create something great together.

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