centos7 설정 mysql 테이블 이름 대소문자 구분 없음

1351 단어 mysql
오늘 구덩이가 하나 생겼어요. mysql를 설치한 후에 시계를 가져와요. 조회할 때 시계는 대소문자를 구분해야 하기 때문에 데이터베이스에 대소문자를 구분하지 않고
lower_case_table_names=1 여기서 0: 대소문자 구분, 1: 대소문자 구분 없음
현재 설정을 질의하려면 다음과 같이 하십시오.
?
1
2
3
4
5
6
7
8 mysql> show variables like '%lower%' ; + ------------------------+-------+ | Variable_name          | Value | + ------------------------+-------+ | lower_case_file_system | OFF    | | lower_case_table_names | 1     | + ------------------------+-------+ 2 rows in set (0.01 sec)
온라인 게시물의 대부분 수정 절차는 다음과 같습니다.
1. 루트로 로그인하고/etc/my를 수정합니다.cnf2、[mysqld] 노드 아래 한 줄 추가:lowercase_table_names=1
3. MySQL 재부팅: 서비스 mysql restart
그러나 모든 조회는 1146표에 존재하지 않으며, 대소문자를 막론하고 모두 틀렸다
마지막으로 해결 방법을 찾습니다.
하면, 만약, 만약...case_table_names=0 상황에서 대량의 테이블과 데이터를 가져왔습니다. 테이블 이름은 대문자로 되어 있고 소문자로 되어 있습니다. 이때 로워 로 바꿉니다.case_table_names=1에서 오류가 발생합니다.해결책은 로워case_table_names=0에서 표 이름을 모두 소문자로 바꾸기;만약 데이터베이스 이름에 대문자가 존재한다면, 이때 이름을 바꾸고, 새 소문자 데이터베이스로 이름을 바꾸고, 표 이름을 바꾸어야 한다.
모두 개명 후 lower 설정case_table_names=1, MySQL 재시작

좋은 웹페이지 즐겨찾기