
좋습니다. OS X 인스턴스에서 MySQL 5.x 데이터베이스를 덤프했는데 데이터베이스를 OpenShift MySQL 5.5 컨테이너로 가져오는 데 문제가 있습니다. 내 테이블은 Camel-case(예: "tblAccounts")이지만 스크립트에서 "tblaccounts 테이블을 찾을 수 없습니다"와 같은 오류가 발생합니다.
나는 OS X에서 MySQL의 lower_case_table_names 플래그가 2로 설정되어 있다고 생각합니다. 그리고 OpenShift에서 이 변수를 0에서 2로 변경하기 위해 rhc set env 명령을 수행할 수 있었습니다. 테이블 누락 오류가 계속 발생합니다.
이 플래그의 여러 조합을 시도하고 mysqldump 및 MySQL Workbench를 사용하여 생성된 스크립트에서 db를 다시 로드하려고 시도했지만 이 오류가 나타나지 않는 깔끔한 접근 방식을 찾지 못했습니다. 이 작업을 깔끔하게 수행하는 방법에 대한 아이디어가 부족합니다. 어떤 제안이 있으십니까? 감사해요,
FC
답변1
나는 이것이 조금 늦었다는 것을 알고 있습니다. 그러나 이 문제를 겪고 있는 다른 누군가를 위해.
lower_case_table_name
MariaDB는 시작 시 대소문자를 구분하는 파일 시스템에 있는 것으로 확인되면 2에서 0으로 변경됩니다 .
[Warning] lower_case_table_names was set to 2, even though your the file system '/var/lib/mysql/' is case sensitive. Now setting lower_case_table_names to 0 to avoid future problems.
나는 mysql이 같은 일을 한다고 가정한다(그것이 그것으로부터 분기되었다는 점에서).
그러나 설정하면 1
시간이 걸릴 수 있습니다. 저(또한 MacOS에서 마이그레이션하는 경우)의 경우 데이터베이스를 로드한 후에 이 작업을 수행할 수 있었습니다. 그리고 그것은 잘 작동했습니다 ... 하지만 1
과 2
. mysql이 이에 만족하지 않으면 데이터베이스를 비우고 로 설정한 1
다음 데이터를 다시 로드해야 할 수도 있습니다.