할일 : 아래 링크의 doc 파일을 다운받아서, 첨부하기.

-> 이미 ucloud에 넣었네... ^^;


-------------------------------------------

출처: http://blog.naver.com/ansysda/10028865422


SQL Server 전문 컨설턴트가 DB 운영의 문제를 안고 있는 중소기업체를 방문, 진단하여 성능향상과 효율적인 DB 관리 방안에 대한 최적의 방안을 제시해 드리고 있습니다. 현장의 DB 관리자들이 현업에서 겪는 실제 문제점에 실제 사례를 통해서, 시스템 진단에서부터 해결책 제시까지 문,답식으로 구성되어 쉽게 이해할 수 있으며, 현업에 적용이 가능하도록 구성이 되어 있습니다.

1. 중소기업을 위한 SQL Server 기본 모니터링


2. 성능향상을 위한 SQL Server 튜닝의 정석


3. 데이터베이스 관리 노하우 업그레이드 하기


4. 온라인 서비스 기업을 위한 DB 운영 가이드


5. 성능 저하? 아니 뗀 굴뚝엔 연기 안난다


6. SQL Server 2005로 마이그레이션 후 운영 가이드

더 많은 자료들은 이곳에서..



Posted by 세모아
,

참고 : http://support.microsoft.com/kb/321185/ko


1. 새 쿼리  선택


2. select @@VERSION 실행

   -> 쿼리 결과에서 버전은 R2 (SP2),

       Edition은 Enterprise Edition을 조회가능.

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

[펌] SQL Server 실전 묻고 답하기  (0) 2013.01.16
SQL문 예제 - MySQL  (0) 2012.11.29
MySQL inner join 예제  (0) 2012.09.07
Posted by 세모아
,

mysql> show variables like "%slow%";

+---------------------+-----------------------------------------------------------+
| Variable_name       | Value                                                     |
+---------------------+-----------------------------------------------------------+
| log_slow_queries    | OFF                                                       |
| slow_launch_time    | 2                                                         |
| slow_query_log      | OFF                                                       |
| slow_query_log_file | C:\ProgramData\MySQL\MySQL Server 5.5\Data\E01-1-slow.log |
+---------------------+-----------------------------------------------------------+
4 rows in set (0.00 sec)

Posted by 세모아
,

DELIMITER $$
### PROCEDURE ------ ###
DROP procedure  IF EXISTS bitnami_redmine.proc1 $$


CREATE PROCEDURE bitnami_redmine.proc1(IN Process TEXT, IN Maker TEXT, IN ProbType TEXT)
BEGIN
#    DECLARE i INT DEFAULT 0;
#    DECLARE min_beforedate INT DEFAULT 0;


select a2.customized_id, a2.value, c.value from

(select a.customized_id, a.value, a.custom_field_id from
#(select customized_id, value, custom_field_id  from custom_values as a where (custom_field_id = 17 and value = 'BOSCH')) as a
(select customized_id, value, custom_field_id  from custom_values as a where (custom_field_id = 17 and value = Maker)) as a
inner join
#(select customized_id, value, custom_field_id from custom_values as b where (custom_field_id = 1 and value = 'PAINT')) as b
(select customized_id, value, custom_field_id from custom_values as b where (custom_field_id = 1 and value = Process)) as b
where a.customized_id = b.customized_id) as a2

inner join
#(select customized_id, value from custom_values as c where (custom_field_id = 3 and value = 'SFEM S/W')) as c
(select customized_id, value from custom_values as c where (custom_field_id = 3 and value = ProbType)) as c
where a2.customized_id = c.customized_id;


END $$

   
DELIMITER ;

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

SQL문 예제 - MySQL  (0) 2012.11.29
Table Join 소요시간 (MySQL)  (0) 2012.09.07
MySQL error code  (1) 2012.08.28
Posted by 세모아
,

* Table Join 소요시간 (MySQL)

inner join이 self join보다 빠름 : 테이블의 내부검색시(테이블 1개를 2개로 간주)


select a.customized_id, a.value, a.custom_field_id from
(select customized_id, value, custom_field_id  from custom_values as a where (custom_field_id = 17 and value = 'AMAT')) as a
inner join
(select customized_id, value, custom_field_id from custom_values as b where (custom_field_id = 1 and value = 'ETCH')) as b
/* 0 rows affected, 38 rows found. Duration for 1 query: 0.016 sec. */


select a.customized_id from custom_values a, custom_values b
where
    (a.custom_field_id = 17 and a.value = 'AMAT')
and (b.custom_field_id = 1 and b.value = 'ETCH')
and a.customized_id = b.customized_id
/* 0 rows affected, 38 rows found. Duration for 1 query: 0.124 sec. */

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

MySQL inner join 예제  (0) 2012.09.07
MySQL error code  (1) 2012.08.28
[펌] MySQL 튜닝 18 가지  (0) 2012.08.09
Posted by 세모아
,



MySQL 설치된 컴퓨터에서 MySQL error code msg 확인법: perror {code_number}




----------------------------------------------------
OS error code 1: Operation not permitted OS error code 2: No such file or directory OS error code 3: No such process OS error code 4: Interrupted system call OS error code 5: Input/output error OS error code 6: No such device or address OS error code 7: Argument list too long OS error code 8: Exec format error OS error code 9: Bad file descriptor OS error code 10: No child processes OS error code 11: Resource temporarily unavailable OS error code 12: Cannot allocate memory OS error code 13: Permission denied OS error code 14: Bad address OS error code 15: Block device required OS error code 16: Device or resource busy OS error code 17: File exists OS error code 18: Invalid cross-device link OS error code 19: No such device OS error code 20: Not a directory OS error code 21: Is a directory OS error code 22: Invalid argument OS error code 23: Too many open files in system OS error code 24: Too many open files OS error code 25: Inappropriate ioctl for device OS error code 26: Text file busy OS error code 27: File too large OS error code 28: No space left on device OS error code 30: Read-only file system OS error code 31: Too many links OS error code 32: Broken pipe OS error code 33: Numerical argument out of domain OS error code 34: Numerical result out of range OS error code 35: Resource deadlock avoided OS error code 36: File name too long OS error code 37: No locks available OS error code 38: Function not implemented OS error code 39: Directory not empty OS error code 40: Too many levels of symbolic links OS error code 42: No message of desired type OS error code 43: Identifier removed OS error code 44: Channel number out of range OS error code 45: Level 2 not synchronized OS error code 46: Level 3 halted OS error code 47: Level 3 reset OS error code 48: Link number out of range OS error code 49: Protocol driver not attached OS error code 50: No CSI structure available OS error code 51: Level 2 halted OS error code 52: Invalid exchange OS error code 53: Invalid request descriptor OS error code 54: Exchange full OS error code 55: No anode OS error code 56: Invalid request code OS error code 57: Invalid slot OS error code 59: Bad font file format OS error code 60: Device not a stream OS error code 61: No data available OS error code 62: Timer expired OS error code 63: Out of streams resources OS error code 64: Machine is not on the network OS error code 65: Package not installed OS error code 66: Object is remote OS error code 67: Link has been severed OS error code 68: Advertise error OS error code 69: Srmount error OS error code 70: Communication error on send OS error code 71: Protocol error OS error code 72: Multihop attempted OS error code 73: RFS specific error OS error code 74: Bad message OS error code 75: Value too large for defined data type OS error code 76: Name not unique on network OS error code 77: File descriptor in bad state OS error code 78: Remote address changed OS error code 79: Can not access a needed shared library OS error code 80: Accessing a corrupted shared library OS error code 81: .lib section in a.out corrupted OS error code 82: Attempting to link in too many shared libraries OS error code 83: Cannot exec a shared library directly OS error code 84: Invalid or incomplete multibyte or wide character OS error code 85: Interrupted system call should be restarted OS error code 86: Streams pipe error OS error code 87: Too many users OS error code 88: Socket operation on non-socket OS error code 89: Destination address required OS error code 90: Message too long OS error code 91: Protocol wrong type for socket OS error code 92: Protocol not available OS error code 93: Protocol not supported OS error code 94: Socket type not supported OS error code 95: Operation not supported OS error code 96: Protocol family not supported OS error code 97: Address family not supported by protocol OS error code 98: Address already in use OS error code 99: Cannot assign requested address OS error code 100: Network is down OS error code 101: Network is unreachable OS error code 102: Network dropped connection on reset OS error code 103: Software caused connection abort OS error code 104: Connection reset by peer OS error code 105: No buffer space available OS error code 106: Transport endpoint is already connected OS error code 107: Transport endpoint is not connected OS error code 108: Cannot send after transport endpoint shutdown OS error code 109: Too many references: cannot splice OS error code 110: Connection timed out OS error code 111: Connection refused OS error code 112: Host is down OS error code 113: No route to host OS error code 114: Operation already in progress OS error code 115: Operation now in progress OS error code 116: Stale NFS file handle OS error code 117: Structure needs cleaning OS error code 118: Not a XENIX named type file OS error code 119: No XENIX semaphores available OS error code 120: Is a named type file OS error code 121: Remote I/O error OS error code 122: Disk quota exceeded OS error code 123: No medium found OS error code 124: Wrong medium type OS error code 125: Operation canceled MySQL error code 126: Index file is crashed MySQL error code 127: Record-file is crashed MySQL error code 128: Out of memory MySQL error code 130: Incorrect file format MySQL error code 131: Command not supported by database MySQL error code 132: Old database file MySQL error code 133: No record read before update MySQL error code 134: Record was already deleted (or record file crashed) MySQL error code 135: No more room in record file MySQL error code 136: No more room in index file MySQL error code 137: No more records (read after end of file) MySQL error code 138: Unsupported extension used for table MySQL error code 139: Too big row MySQL error code 140: Wrong create options MySQL error code 141: Duplicate unique key or constraint on write or update MySQL error code 142: Unknown character set used MySQL error code 143: Conflicting table definitions in sub-tables of MERGE table MySQL error code 144: Table is crashed and last repair failed MySQL error code 145: Table was marked as crashed and should be repaired MySQL error code 146: Lock timed out; Retry transaction MySQL error code 147: Lock table is full; Restart program with a larger locktable MySQL error code 148: Updates are not allowed under a read only transactions MySQL error code 149: Lock deadlock; Retry transaction MySQL error code 150: Foreign key constraint is incorrectly formed MySQL error code 151: Cannot add a child row MySQL error code 152: Cannot delete a parent row

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

Table Join 소요시간 (MySQL)  (0) 2012.09.07
[펌] MySQL 튜닝 18 가지  (0) 2012.08.09
[펌] ERWin에서 테이블리스트 작성하는 방법  (0) 2012.05.08
Posted by 세모아
,

출처: http://blog.arzz.com/190

         https://gs.saro.me/?c=240&m=2



HEAP 테이블이 가장 빠르다
일반적으로 가장 많이 쓰이는 테이블 타입은 MyISAM 타입 입니다.
MyISAM 타입은 무자게 빠르며, 대용량에도 강합니다. 그러나 트랜잭션은 지원되지 않습니다.
이노디비(InnoDB) 는 트랜잭션이 지원 됩니다. 쇼핑몰에서는 반드시 사용해야 합니다 ^^

HEAP 테이블 타입은 가장 빠르며, 단점은 메모리에 있기 때문에, MySQL에 중지 될 경우 모두 날아 갑니다.

검색을 하고 재검색을 다시 하는 경우, 임시 검색 테이블을 만들어 놓는 것도 좋은 방법입니다.
mysql>CREATE TABLE email_addresses TYPE=HEAP (
->email char(55) NOT NULL,
->name char(30) NOT NULL,
->PRIMARY KEY(email) );


int,smallint,tinyint 데이터형
int 는 굉장히 큰수 입니다. 4바이트를 차지 하구요.
tinyint 는 몇백 까지만 됩니다. 1바이트 구요.

쓸데 없이 int 를 사용하지 마세용 !!
4바이트와 1바이트는 4배 차이 입니다.조그만것 1개 1개가 모여 서버 부하를 일으 킵니다.!!

데이터 량이 얼마만큼 들어가는지 체크 하고 데이터형을 선택 하세요 ^^
만약 쓸데없는 데이터 형이다 싶으면 alter table 로 데이터 형을 바꾸세요 !


인덱스의 사용
인덱스는 반드시 필요한 곳에만 넣으세요 !
인덱스를 줄 경우 하드 용량을 더 차지 하기 때문에 속도를 떨어 뜨릴 수 있습니다.

모든 칼럼에 인덱스를 주는 것은 절대 추천 하지 않습니다.
1개의 테이블에 주키외에 2-3 개 이상의 인덱스는 주지 마세요!

주키는 당근 인덱스 입니다. ^^

CREATE TABLE albums (
id INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(80)NOT NULL,

INDEX title_idx (title)
);

☞Alter Table 로 인덱스 추가
ALTER TABLE albums ADD INDEX title_idx (title)

결합 인덱스의 경우 너무 많은 인덱스를 사용할 경우 CPU 오버헤드나 하드 오버헤드를 불러 일으 킵니다.
적당히 사용하세요 ^^


인덱스는 %$search% 가 먹지 않습니다.
그런디 게시판 제목(Subject) 에 인덱스 걸어 놓고 , 검색을 %$search% 이렇게 하면 될까요?
인덱스 거나 안거나 똑같습니다. !!


기타
BLOB과 TEXT 칼럼은 테이블을 분리 하는 것이 좋다. 다른 칼럼의 내용 보다 크기 때문이다 !

OPTIMIZE TABLE 명령을 자주 사용해라 !
Not null 로 지정 하는 것이 빠르다.
varchar 보다 char 이 훨빠르다.


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

MySQL error code  (1) 2012.08.28
[펌] ERWin에서 테이블리스트 작성하는 방법  (0) 2012.05.08
MySQL의 DB 백업방법 (HeidiSQL 사용)  (0) 2012.03.17
Posted by 세모아
,

출처 : http://blog.naver.com/uhjinmo/80119765538


ERWin에서 테이블리스트 작성방법.hwp



아래그림은 첨부의 일부분일뿐.



Posted by 세모아
,
http://www.heidisql.com/



1.


2.


Posted by 세모아
,
from: http://www.daniweb.com/web-development/databases/mysql/threads/165434

The default Storage engine is

Go for mysql prompt.

mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| images |
| mysql |
| test |
+--------------------+
4 rows in set (0.00 sec)

mysql> use information_schema;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> show tables;
+---------------------------------------+
| Tables_in_information_schema |
+---------------------------------------+
| CHARACTER_SETS |
| COLLATIONS |
| COLLATION_CHARACTER_SET_APPLICABILITY |
| COLUMNS |
| COLUMN_PRIVILEGES |
| ENGINES |
| EVENTS |
| FILES |
| GLOBAL_STATUS |
| GLOBAL_VARIABLES |
| KEY_COLUMN_USAGE |
| PARTITIONS |
| PLUGINS |
| PROCESSLIST |
| PROFILING |
| REFERENTIAL_CONSTRAINTS |
| ROUTINES |
| SCHEMATA |
| SCHEMA_PRIVILEGES |
| SESSION_STATUS |
| SESSION_VARIABLES |
| STATISTICS |
| TABLES |
| TABLE_CONSTRAINTS |
| TABLE_PRIVILEGES |
| TRIGGERS |
| USER_PRIVILEGES |
| VIEWS |
+---------------------------------------+
28 rows in set (0.00 sec)

mysql> select * from ENGINES;
+------------+---------+----------------------------------------------------------------+--------------+------+------------+
| ENGINE | SUPPORT | COMMENT | TRANSACTIONS | XA | SAVEPOINTS |
+------------+---------+----------------------------------------------------------------+--------------+------+------------+
| InnoDB | YES | Supports transactions, row-level locking, and foreign keys | YES | YES | YES |
| MRG_MYISAM | YES | Collection of identical MyISAM tables | NO | NO | NO |
| BLACKHOLE | YES | /dev/null storage engine (anything you write to it disappears) | NO | NO | NO |
| CSV | YES | CSV storage engine | NO | NO | NO |
| MEMORY | YES | Hash based, stored in memory, useful for temporary tables | NO | NO | NO |
| FEDERATED | NO | Federated MySQL storage engine | NULL | NULL | NULL |
| ARCHIVE | YES | Archive storage engine | NO | NO | NO |
| MyISAM | DEFAULT | Default engine as of MySQL 3.23 with great performance | NO | NO | NO |
+------------+---------+----------------------------------------------------------------+--------------+------+------------+
8 rows in set (0.00 sec)

mysql>

this is how we can search.

=========================================
My) Dell Server에서 실제 결과.
Microsoft Windows [Version 6.1.7600]
Copyright (c) 2009 Microsoft Corporation.  All rights reserved.

C:\Users\Administrator>mysql -uroot -p1234
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.5.8 MySQL Community Server (GPL)

Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| eil                |
| mysql              |
| performance_schema |
| test               |
+--------------------+
5 rows in set (0.03 sec)

mysql> use information_schema;
Database changed
mysql> show tables;
+---------------------------------------+
| Tables_in_information_schema          |
+---------------------------------------+
| CHARACTER_SETS                        |
| COLLATIONS                            |
| COLLATION_CHARACTER_SET_APPLICABILITY |
| COLUMNS                               |
| COLUMN_PRIVILEGES                     |
| ENGINES                               |
| EVENTS                                |
| FILES                                 |
| GLOBAL_STATUS                         |
| GLOBAL_VARIABLES                      |
| KEY_COLUMN_USAGE                      |
| PARAMETERS                            |
| PARTITIONS                            |
| PLUGINS                               |
| PROCESSLIST                           |
| PROFILING                             |
| REFERENTIAL_CONSTRAINTS               |
| ROUTINES                              |
| SCHEMATA                              |
| SCHEMA_PRIVILEGES                     |
| SESSION_STATUS                        |
| SESSION_VARIABLES                     |
| STATISTICS                            |
| TABLES                                |
| TABLESPACES                           |
| TABLE_CONSTRAINTS                     |
| TABLE_PRIVILEGES                      |
| TRIGGERS                              |
| USER_PRIVILEGES                       |
| VIEWS                                 |
| INNODB_CMP_RESET                      |
| INNODB_TRX                            |
| INNODB_CMPMEM_RESET                   |
| INNODB_LOCK_WAITS                     |
| INNODB_CMPMEM                         |
| INNODB_CMP                            |
| INNODB_LOCKS                          |
+---------------------------------------+
37 rows in set (0.00 sec)

mysql> select * from ENGINES;
+--------------------+---------+------------------------------------------------
----------------+--------------+------+------------+
| ENGINE             | SUPPORT | COMMENT
                | TRANSACTIONS | XA   | SAVEPOINTS |
+--------------------+---------+------------------------------------------------
----------------+--------------+------+------------+
| FEDERATED          | NO      | Federated MySQL storage engine
                | NULL         | NULL | NULL       |
| MRG_MYISAM         | YES     | Collection of identical MyISAM tables
                | NO           | NO   | NO         |
| MyISAM             | YES     | MyISAM storage engine
                | NO           | NO   | NO         |
| BLACKHOLE          | YES     | /dev/null storage engine (anything you write to
 it disappears) | NO           | NO   | NO         |
| CSV                | YES     | CSV storage engine
                | NO           | NO   | NO         |
| MEMORY             | YES     | Hash based, stored in memory, useful for tempor
ary tables      | NO           | NO   | NO         |
| ARCHIVE            | YES     | Archive storage engine
                | NO           | NO   | NO         |
| InnoDB             | DEFAULT | Supports transactions, row-level locking, and f
oreign keys     | YES          | YES  | YES        |
| PERFORMANCE_SCHEMA | YES     | Performance Schema
                | NO           | NO   | NO         |
+--------------------+---------+------------------------------------------------
----------------+--------------+------+------------+
9 rows in set (0.00 sec)

mysql>

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

MySQL의 DB 백업방법 (HeidiSQL 사용)  (0) 2012.03.17
mysql 의 innodb_buffer_pool_size  (0) 2011.06.01
MySQLDUMP 사용법과 옵션들  (0) 2011.06.01
Posted by 세모아
,

내가 사용하는 서버가 두개가 있는데,

하나는 메인 메모리가 512M이고, 또다른 하나는 1G이다.

그런데 둘다 my.cnf에 내가 아는 아래와 같은 옵션 몇개만 설정하고 써 오고 있었는데,..
innodb_file_per_table
innodb_flush_log_at_trx_commit = 1

이상하게 mysql process 의 CPU점유율이 항상 20%~30% 대에서 안내려가는 현상이 생겼다.
crontab에 걸린 데이터 크롤도 있고 많이 쓰긴 하지만..
이렇게 CPU를 차지할 만큼 큰 job은 아니라고 생각이 들었는데.. 찾다보니,

innodb_buffer_pool_size

라는 옵션이 있는데, 권장은 메인메모리의 50~70% 면서(아마도 Mysql 전용 머신의 경우일 듯), 기본 default는 8M 인 옵션이다.
그래서, 이 옵션을 서버 각각 64M, 256M 로 설정했다. (내 머신들은 Mysql 전용이 아니니까.. 별짓 다하는 기계들..)
설정 하고 나니 CPU점유율 상황이 조금 좋아진 듯 하다.
간단한 옵션인데, 모르고 있으니 서버를 엉뚱하게 운영하고 있었다는 생각이 든다.

Posted by 세모아
,
from: http://algorizm.tistory.com/24

MySQLDUMP 명령은 데이터베이스 백업에 사용되는 명령어이다.
자주 쓰다가 안쓰게 되면 까먹는데 필요할때 빨리 찾아보고 작업을 할 수 있도록 정리해보았다.

공식 메뉴얼 URL은 다음과 같다.
http://dev.mysql.com/doc/refman/5.1/en/mysqldump.html

이번 글에서는 기본적인 사용법과 몇가지 주요한 옵션을 정리해보았다.

1. 데이터베이스 백업

- DB 와 테이블을 지정하여 백업
shell> mysqldump [options] db_name [tbl_name] > filename

- 전체 데이터베이스 풀 백업
shell> mysqldump [options] --all-database
--all-database 대신 -A 옵션을 지정해도 된다.

몇가지 옵션들
--disable-keys, -K
MyISAM 테이블에 덤프파일을 통해 INSERT 시 사용하면 덤프파일을 읽어와서
INSERT 시 처리속도를 높일 수 있다.
모든 행이 INSERT 된 후에 인덱스를 생성해주는 옵션이다.

--extend-insert, -e
INSERT 문을 생성 시 다중 INSERT 문으로 생성해주는 옵션이다.
동일한 열 지정이 제외되므로 그만큼 파일 사이즈가 줄어들고 복원 시
삽입속도를 좀 더 빠르게 할 수 있다.

--quick, -q
이 옵션은 테이블에 대한 열을 서버에서 한 번에 한 열씩 추출하여 메모리에 버퍼링 된 데이터를
덤프하므로 대용량 테이블을 덤프할 때 유용하다.

--routines, -R
스토어드 프로시저, 함수를 덤프한다. 덤프된 루틴이 재생성될 때 원래의 타임스태프 값을
가지게 하기 위해서는 mysql.proc 테이블의 내용물을 직접 덤프하여 사용한다.

--where='where_condition, -w 'where_condition'
주어진 where 조건문에 해당되는 데이터만 덤프한다. 조건 지정 시 인용부호를 사용한다.
ex) -where="userid='홍길동'"
     -w "depth >1"

2. 데이터베이스 복원
복원 명령어도 간단하다.
shell> mysql -u[username] -p [dbname] < 덤프파일명
예1) test 데이터베이스에 복원
shell> mysql -utest -p test < dump.sql
예2) 전체백업된 덤프파일 복원
shell> mysql -utest -p < fulldump.sql
예3) 덤프파일 경로지정, 데이터베이스 지정
shell> mysql -e "source /path/backup.sql" [dbname]

상황에 따라 옵션 지정이 달라지므로 메뉴얼이랑 친숙하게 지내는게 좋겠다.
Posted by 세모아
,


◘ MySQL 백업과 복구

 

 

▮ mysqldump


  mysqldump [옵션] db_name [table_name] > backup_filename

  mysqldump [옵션] --databases [옵션] db_name1, db_name2, .... > backup_filename

  mysqldump [옵션] --all-databases [옵션] > backup_filename

 

  [옵션]

     -A, --all-databases     : 모든 DB를 덤프

     --add-locks                : 덤프 전에 lock 덤프 후에 unlock

     --add-drop-table         : 덤프 이후에 출력물의 앞에 drop table 명령 추가 (복구 위해)

     -B, --databases          : 여러 DB를 동시에 덤프할 때 사용

     -f, --force                   : 에러를 무시

     -h, --host                   : 지정한 호스트의 데이터를 덤프

     -t                  : data만 덤프

     -d                 : 데이터를 제외하고 스키마만 덤프

     -p                 : 사용자의 암호를 지정

     -P                 : 포트번호 지정

     -u                 : 사용자명 지정

 

 

▮ Data만을 백업


  : LOAD DATA INFILE에서 사용한 파일의 경우 Data만 포함하는 것처럼 select 명령을 이용해서 Data만 포함된 형식으로 백업

 

   [문법]

       - SELECT column_name, output_type

        INTO OUTFILE '경로 및 파일명‘

        [FIELDS TERMINATED BY '종단문자‘]

        FROM table_name

        WHERE 조건구문 ;

 

ex) student table의 내용을 각 컬럼을 | 로 구분해서 성이 마씨인 학생만 ‘/root/student.dat'로 저장

 

 mysql> select *

       -> into outfile '/root/student.dat'

       -> fields terminated by '|'

       -> from student

       -> where sname like '마%';

 Query OK, 3 rows affected (0.00 sec)

  

 [root@linux /root]# cat student.dat

 012312|마량|남|3|물리|3.50

 013213|마초|남|2|화학|2.42

 013111|마대|남|1|생물|1.23

    

 ※ [= 외부 명령어]


    #  mysql -p -e "select * from school.student where sname like '마%';"

 

 

▮ 복구

  : 백업된 내용의 복구는 mysql 명령어나 mysqladmin 명령어를 사용함

 

  ex) root의 password가 12345인 상태에서 database1을 백업한 data.db라는 백업파일을 복구

 

   $ mysqladmin -u root -p12345 drop database1       // database1 삭제

   $ mysqladmin -u root -p12345 create database1   // database1 생성 

   $ mysql -u root -p12345 database1 < data.db        // data.db파일로 database1 복구

 ======================================================================================

백업파일을 생성할 위치로 이동한다.

 

MySQL 백업

mysqldump -u사용자명 -p패스워드 DB명 > 생성할 파일

 

예)

/usr/local/mysql/bin/mysqldump -uroot -p패스워드 system > backup.sql

 

가끔 한글이 깨져서 나올 때가 있다.

이럴 때는 character set 을 지정하여 백업파일을 만들면 된다.

 

예)

/usr/local/mysql/bin/mysqldump -uroot -p패스워드 system --default-character-set latin1 > backup.sql;

 

그럼 DB의 character set 은 어떻게 알까?

 

MySQL에 접속하신 다음 status 치면 된다.

 

...

Server characterset:    latin1
Db     characterset:    latin1
Client characterset:    latin1
Conn.  characterset:    latin1
...

 

복구할때는

 

예)

mysqladmin -u root -p패스워드 create database명

mysql -u root -p패스워드 database명 < backup.sql

 

database 명을 지정하지 않고 전체를 다할 경우,,

 

-- 전체 백업
/usr/local/mysql/bin/mysqldump -u아이디 -p패스워드 --all-database > backup.sql

 

-- 전체 복원
/usr/local/mysql/bin/mysql -u아이디 -p패스워드 < backup.sql

 ==================================================================================

MySQL DUMP 백업 및 복원

 

백업/복구 모두 cmd모드에서 할것.

 

====백업====

 

1.cmd접속

-권한이 있는 계정으로 dump할것 .(보통 root계정)

 

2.명령어

-p[비밀번호]는 한칸 띄우지 말고 붙여서 할것.

 

3.저장위치를 파일명 앞에 적지않으면 현재 위치해 있는 폴더에 백업한다.

 

====복구====

 

1. Mysql 5.0 계정생성, 디비생성 참조.

-계정 및 계정에 권한을 주고 db까지 셋팅.

 

2.cmd접속

-권한이 있는 계정으로 dump할것 .(보통 root계정)

 

2.명령어(밑에)

-u[아이디] -p[비밀번호]는 한칸 띄우지 말고 붙여서 할것.

 

 

명령어

 

== 백업 ==


DB전체 덤프
mysqldump -u[아이디] -p[비밀번호] --all-databases > [저장될 파일명]

 

DB만 덤프
mysqldump -u[아이디] -p[비밀번호] [디비명] > [저장될 파일명]

 

테이블 구조만
mysqldump -u[아이디] -p[비밀번호] --no-data [디비명] [테이블명] > [저장될 파일명]

 

테이블구조를 제외한 데이터만 덤프
mysqldump -u[아이디] -p[비밀번호] --no-create [디비명] [테이블명] > [저장될 파일명]

 

==복구 ==


덤프파일을 이용한 복구
mysql -u[아이디] -p[암호][디비명] < [파일명]

 

패스워드 동시 입력시 복구 안되면
mysql -u[아이디] -p[공백][디비명] < [파일명]


Posted by 세모아
,