Erro do OpenShift / MySQL: erro lower_case_table_names ao migrar do OS X para o OpenShift

3

Ok, então eu joguei um banco de dados MySQL 5.x de uma instância do OS X, e estou tendo problemas para importar o banco de dados para o container OpenShift MySQL 5.5. Minhas tabelas são Camel-case (por exemplo, "tblAccounts"), mas o script está jogando erros como "não é possível encontrar contas tbl table".

Eu acredito que o sinalizador lower_case_table_names do MySQL está configurado para 2 no OS X. E eu consegui fazer um comando rhc set env para alterar esta variável de 0 para 2 no OpenShift. Eu continuo recebendo o erro de tabela ausente.

Eu tentei várias combinações desse sinalizador e tentei recarregar o banco de dados de scripts criados usando mysqldump e MySQL Workbench, e não encontrei uma abordagem limpa em que esse erro não apareça. Estou ficando sem idéias sobre como fazer isso de forma limpa. Alguma sugestão? Obrigado,

fc

    
por user1399233 23.02.2015 / 21:53

1 resposta

0

Eu sei que isso é um pouco tarde - mas para qualquer um que tenha esse problema.

O MariaDB mudará lower_case_table_name de 2 para 0 quando for iniciado, se perceber que está em um sistema de arquivos que faz distinção entre maiúsculas e minúsculas:

[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.

Eu assumo que o mysql faz a mesma coisa (sendo que é forjado a partir dele).

Você pode configurá-lo para 1 e, no entanto, isso será necessário. Para mim (também migrando do MacOS), eu consegui fazer isso depois de ter carregado meus bancos de dados. e funcionou bem ... mas parece que foi contra a documentação a diferença entre 1 e 2 . Se o mysql não estiver satisfeito com isso, você pode ter que deixar seu banco de dados em branco, configurá-lo para 1 e, em seguida, recarregar seus dados.

    
por 01.03.2016 / 11:34