사용자 도구

사이트 도구


database:mysql:config

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
database:mysql:config [2018/11/09 17:52]
kwon37xi [Client Options]
database:mysql:config [2022/12/17 15:56] (현재)
kwon37xi [table 이름 대소문자 처리]
줄 40: 줄 40:
 show variables like 'max_connections'; show variables like 'max_connections';
 </code> </code>
 +
 +===== table 이름 대소문자 처리 =====
 +  * table name uppercase / lowercase
 +  * **원칙은 0으로 두는 것이 좋다.**
 +  * [[https://dev.mysql.com/doc/refman/8.0/en/identifier-case-sensitivity.html|MySQL :: MySQL 8.0 Reference Manual :: 9.2.3 Identifier Case Sensitivity]]
 +  * 아래 설정은 되도록 안하는게 좋긴 하지만, 내 코드가 아닌 남의코드(예: [[springframework:batch|Spring Framework Batch]])에서 대문자로 테이블명을 조회하는데, DB에는 소문자로 테이블이 생성돼 있는 경우등에 대비해 필요할 수도 있다.
 +<code>
 +[mysqld]
 +lower_case_table_names=1
 +</code>
 +  * ''0'': ''ceate table''/''create database'' 에 지정된 대소문자를 그대로 따른다. 대소문자를 구분한다. linux 에서는 ''0''이 기본이다. 윈도우나 Mac 같은 대소문자를 구분하지 않는 시스템에서는 절대로 ''0''으로 두면 안된다.
 +  * ''1'' : 모든 DB명, 테이블명, alias 등을 소문자로 저장한다. 그리고 query 에서 지정한 테이블명 대소문자를 무시하고 항상 소문자로 비교한다. 윈도우와 Mac 에서 이 값으로 한다.
 +  * ''2'' : 생성시에는 ''create table''/''create database'' 에 지정된 것을 그대로 따르지만, 조회 query 등에서는 모두 소문자로 변경한다. 이름 비교시에 대소문자를 가리지 않는다. 윈도우/Mac 같은 대소문자를 안가리는 시스템에서만 지정가능하다. linux 에서는 지정하지 말 것.
 +  * 이 설정값은 여러 운영체제에서 동일 DB를 사용한 애플리케이션을 돌릴때 문제가 발생할 경우 해당 운영체제 서버별로 설정을 다르게 해줘야할 수 있다.
 +  * 모든 시스템에서 ''1'' 을 사용해도 된다.
 +  * Unix/Linux 계열에서는 ''0'', 윈도우에서는 ''2'' 로 지정해서 사용할 수 있다. 
  
 ===== Client Prompt ===== ===== Client Prompt =====
database/mysql/config.1541753547.txt.gz · 마지막으로 수정됨: 2018/11/09 17:52 저자 kwon37xi