• MySQL매뉴얼
    • MySQL 5.6 매뉴얼
    • MySQL 5.1 매뉴얼
    • MySQL 5.0 매뉴얼
    • MySQL HA 매뉴얼
  • 기술문서
    • Xtrabackup 구성
    • 메모리 사용량 모니터링
  • 라이선스
  • 온라인문의
  • 회사소개
  • → 목 록 (MySQL5.6 한글메뉴얼) [close]
  • 1. MySQL 5.6 새로운 기능
  • 2. MySQL 설치 및 업그레이드
  • 3. MySQL Tutorial
  • 4. MySQL 프로그램
  • 1. MySQL 프로그램 개요
    2. MySQL 프로그램 사용
    3. MySQL 서버와 서버 시작 프로그램
    4. 설치 관련 프로그램
    5. 클라이언트 프로그램
    1. mysql - MySQL 명령 행 도구
    1. mysql 옵션
    2. mysql 명령
    3. mysql 로깅
    4. mysql 서버측 도움말
    5. 텍스트 파일에서 SQL 문을 실행
    6. mysql Tips
    2. mysqladmin - MySQL 서버를 관리하는 클라이언트
    3. mysqlcheck - 테이블 관리 프로그램
    4. mysqldump - 데이터베이스 백업 프로그램
    5. mysqlimport - 데이터 가져 오기 프로그램
    6. mysqlshow - 데이터베이스, 테이블 및 컬럼 정보보기
    7. mysqlslap - 부하 에뮬레이션 클라이언트
    6. MySQL 관리 프로그램 및 유틸리티 프로그램
    7. MySQL 프로그램 개발 유틸리티
    8. 기타 프로그램
  • 5. MySQL 서버관리
  • 6. 보안
  • 7. 백업 및 복구
  • 8. 최적화
  • 9. Language Structure(언어구조)
  • 10. Character Sets(Globalization)
  • 11. 데이터형(Data Types)
  • 12. 함수와 연산자
  • 13. SQL 문법
  • 14. InnoDB 스토리지 엔진
  • 15. 기타 스토리지 엔진
  • 16. 고가용성 및 확장성
  • 17. 리플리케이션
  • 18. MySQL Cluster
  • 19. 파티셔닝
  • 20. Stored Programs and Views
  • 21. INFORMATION_SCHEMA
  • 22. PERFORMANCE SCHEMA
  • 23. 컨넥터 및 API
  • 24. MySQL 확장
  • 25. MySQL Enterprise Edition
  • 26. MySQL Workbench
  • 27. 제약 및 제한
  • 28. MySQL 5.7 새로운 기능

4.5.1.6 mysql Tips

이 섹션에서는 mysql을 더욱 효과적으로 사용하는 기법을 소개합니다.
4.5.1.6.1 입력 행의 편집

mysql은 입력 행의 편집을 지원하고 현재의 입력 행을 수정하거나 이전 입력 행을 호출 할 수 있습니다. 예를 들어, "왼쪽 화살표"키와 "오른쪽 화살표"키를 누르면 현재 입력 행을 가로 방향으로 이동하고 "위쪽 화살표"키와 "아래 화살표"키에 이전에 입력 한 행을 위아래로 이동할 수 있습니다. "백 스페이스"에서 커서 앞의 문자를 삭제하고 새로운 문자를 입력하면 커서 위치에 삽입됩니다. 행을 입력하려면 "Enter"를 누릅니다.

Windows에서는 편집 키 시퀀스는 콘솔 창에서 명령 편집에 대해 지원되는 것과 동일합니다. Unix에서는 키 순서는 mysql의 빌드에 사용 된 입력 라이브러리 (예를 들어, libedit 또는 readline 라이브러리)에 의존합니다.

libedit 라이브러리 및 readline 라이브러리의 문서는 온라인에서 구할 수 있습니다. 주어진 입력 라이브러리에 허용되는 키 시퀀스 집합을 변경하려면 라이브러리 시작 파일에서 키 바인딩을 정의합니다. 이것은 홈 디렉토리에있는 파일에서 .editrc 는 libedit 용 .inputrc 는 readline 용입니다.

예를 들어 libedit 에서는 Control-W는 현재 커서 위치 앞에있는 것을 모두 제거하고 Control + U 행 전체를 삭제합니다. readline 는 Control-W는 커서 앞의 단어를 삭제하고 Control + U는 현재 커서 위치 앞에있는 것을 모두 삭제합니다. mysql이 libedit 를 사용하여 빌드 된 경우 이러한 두 키에 대해 readline 동작을 선호하는 사용자는 .editrc 파일에 다음 줄을 넣을 수 있습니다 (필요에 따라 파일을 만듭니다) .

 bind "^ W"ed-delete-prev-word
 bind "^ U"vi-kill-line-prev

현재 키 바인딩 세트를 표시하려면 일시적으로 bind 만 행을 .editrc 끝에 놓습니다. mysql은 시작하면 바인딩을 표시합니다.

4.5.1.6.2 Windows에서 Unicode 지원

Windows 콘솔에서 읽기 및 쓰기에 UTF-16LE에 기반 API를 제공합니다. MySQL 5.6.2에서는 Windows의 mysql 클라이언트는 이러한 API를 사용할 수 있습니다. 5.6.3에서는 Windows Installer는 MySQL 메뉴에 MySQL command line client - Unicode 라는 항목을 만듭니다. 이 항목은 Unicode를 사용하여 MySQL 서버에 콘솔을 통해 통신하도록 설정된 프로퍼티에서 mysql 클라이언트를 호출합니다.

이 지원을 수동으로 이용하기 위해서는 호환 Unicode 글꼴을 사용하는 콘솔에서 mysql을 실행하여 디폴트 문자 집합을 서버와의 통신에서 지원하는 Unicode 문자 세트로 설정합니다.

  1. 콘솔 창을 엽니 다.

  2. 콘솔 창 등록 정보로 이동하여 '글꼴'탭을 선택하고 Lucida Console 또는 기타 호환 Unicode 글꼴을 선택합니다. 콘솔 창은 기본적으로 Unicode 잘못된 DOS 래스터 글꼴을 사용하기 때문에 이것이 필요합니다.

  3. mysql.exe를 --default-character-set=utf8 (또는 utf8mb4 ) 옵션으로 실행합니다. utf16le 연결 문자 집합을 지원하지 않기 때문에이 옵션이 필요합니다.

이러한 변경으로 인해 mysql은 Windows API를 사용하여 UTF-16LE를 사용하여 콘솔과 통신하고 서버는 UTF-8을 사용하여 통신합니다. (위의 메뉴 항목 글꼴 및 문자 세트를 지금 설명한대로 설정합니다.)

mysql을 시작할 때마다이 단계를 수행하지 않아도 좋다 그래야, mysql.exe 전화 바로 가기를 만들 수 있습니다. 이 바로 가기는 콘솔 글꼴을 Lucida Console 또는 기타 호환 Unicode 글꼴로 설정하고 --default-character-set=utf8 (또는 utf8mb4 ) 옵션을 mysql.exe에 전달하도록하십시오.

또는 콘솔 글꼴 설정만을 할 바로 가기를 만들고 문자 세트는 my.ini 파일의 [mysql] 그룹으로 설정합니다.

 [mysql]
 default-character-set = utf8
4.5.1.6.3 쿼리 결과를 수직으로 표시

쿼리 결과에 세로보기의 경우 일반적 가로 방향의 표 형식보다 훨씬 쉽게 읽을 수 있습니다. 세미콜론 대신에 \ G에서 쿼리를 종료하여 쿼리를 세로로 볼 수 있습니다. 예를 들어, 종종 줄 바꿈을 포함한 긴 텍스트 값은 수직 출력이 훨씬 쉽게 읽을 수 있습니다.

 mysql> SELECT * FROM mails WHERE LENGTH(txt) < 300 LIMIT 300,1\G
 *************************** 1. row ******************** *******
   msg_nro : 3068
      date : 2000-03-01 23:29:50
 time_zon​​e : +0200
 mail_from : Monty
     reply : monty@no.spam.com
   mail_to : "Thimble Smith"<tim@no.spam.com>
       sbj : UTF-8
       txt : >>>>> "Thimble"== Thimble Smith writes :

 Thimble> Hi. I think this is a good idea. Is anyone familiar
 Thimble> with UTF-8 or Unicode? Otherwise, I 'll put this on my
 Thimble> TODO list and see what happens.

 Yes, please do that.

 Regards,
 Monty
      file : inbox-jani-1
      hash : 190402944
 1 row in set (0.09 sec)
4.5.1.6.4 --safe-updates 옵션 사용

초보자를위한 사용하기 쉬운 시작 옵션은 --safe-updates (또는 동일한 효과가있는 --i-am-a-dummy )입니다. 이것은 DELETE FROM tbl_name 명령문을 발행했으나 WHERE 절을 잊은 경우에 유용합니다. 일반적으로 이러한 문은 테이블에서 모든 행을 삭제합니다. --safe-updates 를 사용하면 행을 특정 키 값을 지정하지 않으면 행을 지울 수 없습니다. 이로 인해 사고를 예방합니다.

--safe-updates 옵션을 사용하면 mysql은 MySQL 서버에 접속했을 때 다음 문을 실행합니다.

 SET sql_safe_updates = 1, sql_select_limit = 1000, max_join_size = 1000000;

섹션 5.1 "서버 시스템 변수" 를 참조하십시오.

SET 문에는 다음의 효과가 있습니다.

  • UPDATE 문 또는 DELETE 문은 WHERE 절에 키 제약 조건을 지정하거나 LIMIT 절을 제공하거나 (또는 둘 다)하지 않는 한 실행을 허용하지 않습니다. 예 :

     UPDATE tbl_name SET not_key_column = val WHERE key_column = val ;
    
     UPDATE tbl_name SET not_key_column = val LIMIT 1;
    
  • 서버는 문에 LIMIT 절이 포함되어 있지 않은 한, 모든 대규모 SELECT 의 결과를 1000 행으로 제한합니다.

  • 서버는 1,000,000을 넘는 행의 조합을 확인하여야 말라 가능성이있는 여러 테이블의 SELECT 문을 중지합니다.

1,000 및 1,000,000 이외의 제한을 지정하려면 --select_limit 옵션 및 --max_join_size 옵션을 사용하여 기본값을 재정의 할 수 있습니다.

 shell> mysql --safe-updates --select_limit=500 --max_join_size=10000
4.5.1.6.5 mysql 자동 재 연결을 해제하려면

문 보내는 동안 서버와의 연결이 끊어진 경우, mysql 클라이언트는 즉시 자동으로 서버에 한 번 다시 연결하고 문을 다시 보내려고합니다. 그러나 mysql이 다시 연결에 성공해도 첫 번째 연결이 종료 이전 세션 오브젝트와 설정이 손실됩니다. 이 중에는 임시 테​​이블 자동 커밋 모드 및 사용자 정의 및 세션 변수가 포함됩니다. 또한 현재 트랜잭션이 롤백합니다. 이 동작은 위험 할 수 있습니다. 예를 들어, 다음 예제에서는 서버가 사용자의 동의없이 첫 번째 문 및 두 번째 문장 사이에 종료하고 다시 시작시킬 수 있습니다.

 mysql> SET @a=1;
 Query OK, 0 rows affected (0.05 sec)

 mysql> INSERT INTO t VALUES(@a);
 ERROR 2006 : MySQL server has gone away
 No connection. Trying to reconnect ...
 Connection id : 1
 Current database : test

 Query OK, 1 row affected (1.30 sec)

 mysql> SELECT * FROM t;
+------+
| a    |
+------+
| NULL |
+------+
1 row in set (0.05 sec)

@a 사용자 변수는 연결과 함께 손실 재접속 후는 미정 도리입니다. 연결이 끊긴 경우에 mysql이 오류로 종료하는 것이 바람직한 경우, mysql 클라이언트를 --skip-reconnect 옵션으로 시작할 수 있습니다.

자동 재 연결 및 재 연결 상태 정보에 미치는 영향 대한 자세한 내용은 섹션 23.8.16 "자동 재 연결 동작 제어" 를 참조하십시오.


서울시 강남구 영동대로 602 6층
TEL: 02-6061-0006  /  E: csr@mysqlkorea.com
주식회사 이노클러스터  등록번호 : 727-86-02261
Copyright © innocluster Co. ltd. all rights reserved