기본적으로 mysql 명령이랑 완전 같다 보면 됨.
des 테이블명; - 해당 테이블의 컬럼 리스트( 타입 null 등 내용 )
show create table 테이블명; - 해당 테이블의 생성 스크립트를 확인 할 수 있다.
show index from 테이블명; - 해당 테이블의 인덱스 정보를 확인 할 수 있다.
mysqldump - 논리적인 데이터베이스의 백업, 및 복원 기타 자료를 덤프 시킬때 사용 한다.
mysqldump --help; - 명령에 대한 각종 옵션에 대한 설명을 확인 할 수 있다.
기본구조 : mysqldump [optionos] 디비명 or --all-databases or --databases dbname1 dbname2.... > 파일이름
- 옵션
- -u : 로그인 사용자 id를 입력한다. 예 -uroot
- -p : 로그인 사용자 의 비밀번호를 입력한다. 예 -pPassword
- --databases : 여러 데이터베이스를 선택적으로 덤프 할때 사용한다. 예 --databases dbname1 dbname2
- --all-databases , -A : 모든 데이터베이스에 있는 모든 테이블을 덤프 한다.
- --add-drop-database : drop database 명령문을 각각의 create database 명령문 전에 추가한다.
- --add-drop-table : drop table 명령문을 각각의 create table 명령문 전에 추가한다.
- --add-locks : Surround each table dump with LOCK tables 와 UNLOCK tables 명령문을 사용해 각각의 테이블 덤프를 둘러싼다.(surround). 이렇게 할 경우 덤프 파일을 다시 읽어올때 보다 빠르게 insert가 실행 된다.
- --allow-keywords : 키워드 이름을 사용해서 컬럼을 생성하는것을 허용한다.
- --character-sets-dir=path : 문자셋이 설치되어 있는 디렉토리.
- --comments, -i : 프로그램 버전, 서버버전, 그리고 호스트와 같은 추가적인 정보를 덤프 파일에 기록한다. 이 옵션은 디폴트로 활성화되어있음.
- --skip-comments : 를 사용하면 디폴트 활성화를 없앨 수 있다.
- --compact : 간략한 결과를 만들게 한다. 이 옵션은코맨트를 없애주며, 해당 명령을 사용하면
- --skip-add-drop-table, --no-set-names, --skip-disable-keys, --skip-add-locks 옵션이 활성화 된다.
- --routines , -R : 스토어루틴(함수 및 저장 프로시저)를 함께 덤프 한다. 이 옵션은 mysql 5.0.13버전부터 추가 되었다.
해당 옵션을 사용할 경우 타임스탬프가 다시 생성 되기 때문에 이전의 타임 스탬프를 갖기를 원한다면 해당 옵션을 사용하지 않는 것을 권장한다.
재 생성시 원래의 타임스탬프를 갖도록 하기 위해서는 데이터베이스에 적절한 권한을 가지고 있는 계정을 사용해서 mysql.proc 테이블의 내용물을 직접 덤프 및 리로드 하도록 한다. - --disbles-keys, -K : 각각의 테이블에서 insert 명령문을 /*!40000 alter table tablename disable keys */; 끝에 /*!40000 alter table tablename enable keys */; (surround). 모든열이 삽입된 후에 인덱스를 생성 한다.
- --no-data ,-d : 테이블의 데이터를 제외한 구조만 덤프 받을 경우 사용한다.
- --no-create-db, -n : Create Database 구문을 포함하지 않는다.
- --no-create-info, -t : 덤프되는 테이블의 Create 구문을 작성하지 않는다.
- --quick, -q : 대형 테이블을 덤프할때 유용함. 쿼리를 버퍼링 하지 않고 다이렉트로 출력.
- --extended-insert , --e : 다중행 insert 구문을 사용하여 좀더 작고 빠른 insert 구문을 생성한다.
- --lock-tables, -I : 백업용 읽기를 위해 모든 테이블에 락을 건다.
- --opt : --add-drop-table, --add-locks --all --extended-insert --quick --lock-tables 옵션들을 모두 설정한 것과 같다.(기본활성화됨)
- --skip : 옵션을 해제 할때 사용 예) --skip-add-drop-table 등등.
- --compress, -C : 클라이언트 및 서버가 압축을 지원할 경우 두 서버간에 전달되는 정보를 압축한다.
- 백업 및 복구
- 백업(논리 백업)
- db 전체 덤프
mysqldump -u아이디 -p비밀번호 --all-databases > 저장파일 명 - 특정 db 덤프
mysqldump -u아이디 -p비밀번호 db명 > 저장파일 명 - 테이블 구조만 덤프
mysqldump -u아이디 -p비밀번호 --no-data db명 [특정테이블만 받을경우 테이블명] > 저장파일 명 - 데이터만 덤프( 테이블 구조 제외)
mysqldump -u아이디 -p비밀번호 --no-create db명 [특정테이블만 받을경우 테이블명] > 저장파일 명 - 물리 백업 (자료 수집후 정리 포스팅 예정)
- 복구(논리 복구)
- 덤프파일을 이용한 복구
mysql -u아이디 -p비밀번호 db명 < 저장파일 명 - 물리복구(자료 수집후 정리 포스팅 예정)
- 쿼리
- 테이블 이름 변경
- ALTER TABLE `원테이블명` RENAME `변경테이블명`;
- RowNumber 읽어오기
SELECT @i:=@i+1 AS iterator, t.* FROM tableName AS t, (SELECT @i:=0) AS row_number;
Mysql 과 Visual Studio 2012 이상 버전의 Connector 관련 내용
- 닷넷용 및 기타 언어들의 커넥터를 지원 하는데 .net에서 DataSource를 사용 하기 위해서는 해당 커넥터의 프로바이더가 필요함.
- 기본적으로 소스만 사용 할 경우 dll파일만 참조하여 코딩하는데 문제는 없지만
닷넷에서 제공하는 SqlDataSource 등을 이용 하기 위해서는 해당 프로바이더가 등록 되어 같이 컴파일 되어야함.
http://dev.mysql.com/doc/connector-net/en/connector-net-visual-studio.html 가보면 자세한 설명이 있음.
요약 하면, 2012버전은 커넥서 6.6 이나 6.7 을 지원하고 2013은 6.8 버전이 지원 한다는 말임. 지원하는 mysql 버전도 표로 나와있음.
[참고] : http://cdral.net/925
'데이터베이스 > MySql & MariaDB' 카테고리의 다른 글
Mysql Cursor (0) | 2015.09.25 |
---|---|
mysql관리시 알아 두어야 할 주요 상태 확인 명령 (0) | 2015.06.10 |
MySql,MariaDB 서버변수 설정(ConnectionTimeOut, Max_allowed_packet) (0) | 2015.05.12 |
테이블 Alter 구문 (0) | 2014.09.23 |
Mysql 5.X Function & Procedure 만들기 기타 쿼리 (0) | 2014.07.10 |