Abaixo listo os problemas que estamos tendo em nosso ambiente, com o Mysql 5.7 em um servidor CentOS. Boa parte dos erros estão relacionados explicitamente, com problemas de área disponível.
- Não é possível acessar as PROCS, para editar, criar ou deletar uma proc, pois elas não são listadas.
- Ao realizar um select na mysql.proc, há um erro que informa que não é possível listar os dados e a tabela deve estar corrompida e precisa ser reparada.
- Não é possível criar uma nova função. Não temos outras funções no nosso banco, para verificar podem ser listadas sem problemas. Ao tentá-lo surge a mensagem "ErrCode 28 - No space left on device".
- Não é possível criar uma nova tabela. Ao tentá-lo surge a mensagem "ErrCode 28 - No space left on device".
- Não é possível criar uma nova trigger, nem fazer pequenas alterações nas que já existem. Ao tentá-lo surge a mensagem "ErrCode 28 - No space left on device".
- Não é possível criar uma nova database.Ao tentá-lo surge a mensagem "ErrCode 28 - No space left on device".
Investigações: Verifiquei através dos comandos abaixo, a área disponível no FileSystem. Verifiquei na variável DataDir, o diretório de dados do mysql: /var/lib/mysql. Confirmei esta informação na tela abaixo do Mysql Workbench. Um ponto de atenção na imagem abaixo,é a informação Disk Space in Data Dir: “Unable to retrieve”. Desde que o problema começou, esta informação alterna entre 0 e “Unable to retrieve”.
Pelos erros apresentados acima, parece que realmente não há área disponível para o DataDir, no Servidor. Mas a investigação abaixo, mostra que isso não é verdade.
Vamos aos comandos, utilizados para avaliar a área disponível no FileSystem /dev/root. Este FileSystem está montado no diretório raiz (/), conforme pode ser confirmado nas três imagens abaixo:
Df -i
Df -h
CPanel:
Ou seja, há bastante espaço livre FileSystem do DataDir, porém, temos diversos erros relacionados a falta de espaço disponível. Alguém sabe a causa deste comportamento estranho e como corrigi-lo?
Algum de vocês já viu este BUG, onde há bastante área disponível para o MySQL mas ele não consegue enxerga-la?
A propósito, encontrei no planet.mysql, um artigo que descreve muitos dos sintomas que o descrevi no nosso caso, porém não apresenta solução para o problema: https://planet.mysql.com/entry/?id=5989853
Ainda na tentativa de resolver o proble;ma, realizamos alguns WorkArounds, que não corrigiram o problema. Estes workarounds foram sugeridos para a correção de um problema específico, dentre os que foram listados acima: a tabela mysql.proc estar sendo apresentada como corrompida, e precisa ser reparada. Eles não funcionaram, muito provavelmente, devido ao problema de área, e não devido ao problema relacionado à tabela mysql.proc, como pensei originalmente.
WorkAround 1: Executei o comando mysql_upgrade. O upgrade foi realizado mais o problema não foi resolvido.
Pergunta
Jorge Eurípedes de O. Jr
Abaixo listo os problemas que estamos tendo em nosso ambiente, com o Mysql 5.7 em um servidor CentOS. Boa parte dos erros estão relacionados explicitamente, com problemas de área disponível.
- Não é possível acessar as PROCS, para editar, criar ou deletar uma proc, pois elas não são listadas.
- Ao realizar um select na mysql.proc, há um erro que informa que não é possível listar os dados e a tabela deve estar corrompida e precisa ser reparada.
- Não é possível criar uma nova função. Não temos outras funções no nosso banco, para verificar podem ser listadas sem problemas. Ao tentá-lo surge a mensagem "ErrCode 28 - No space left on device".
- Não é possível criar uma nova tabela. Ao tentá-lo surge a mensagem "ErrCode 28 - No space left on device".
- Não é possível criar uma nova trigger, nem fazer pequenas alterações nas que já existem. Ao tentá-lo surge a mensagem "ErrCode 28 - No space left on device".
- Não é possível criar uma nova database. Ao tentá-lo surge a mensagem "ErrCode 28 - No space left on device".
Investigações: Verifiquei através dos comandos abaixo, a área disponível no FileSystem. Verifiquei na variável DataDir, o diretório de dados do mysql: /var/lib/mysql. Confirmei esta informação na tela abaixo do Mysql Workbench. Um ponto de atenção na imagem abaixo,é a informação Disk Space in Data Dir: “Unable to retrieve”. Desde que o problema começou, esta informação alterna entre 0 e “Unable to retrieve”.
Pelos erros apresentados acima, parece que realmente não há área disponível para o DataDir, no Servidor. Mas a investigação abaixo, mostra que isso não é verdade.
Vamos aos comandos, utilizados para avaliar a área disponível no FileSystem /dev/root. Este FileSystem está montado no diretório raiz (/), conforme pode ser confirmado nas três imagens abaixo:
Df -i
Df -h
CPanel:
Ou seja, há bastante espaço livre FileSystem do DataDir, porém, temos diversos erros relacionados a falta de espaço disponível. Alguém sabe a causa deste comportamento estranho e como corrigi-lo?
Algum de vocês já viu este BUG, onde há bastante área disponível para o MySQL mas ele não consegue enxerga-la?
A propósito, encontrei no planet.mysql, um artigo que descreve muitos dos sintomas que o descrevi no nosso caso, porém não apresenta solução para o problema: https://planet.mysql.com/entry/?id=5989853
Ainda na tentativa de resolver o proble;ma, realizamos alguns WorkArounds, que não corrigiram o problema. Estes workarounds foram sugeridos para a correção de um problema específico, dentre os que foram listados acima: a tabela mysql.proc estar sendo apresentada como corrompida, e precisa ser reparada. Eles não funcionaram, muito provavelmente, devido ao problema de área, e não devido ao problema relacionado à tabela mysql.proc, como pensei originalmente.
WorkAround 1: Executei o comando mysql_upgrade. O upgrade foi realizado mais o problema não foi resolvido.
WorkAround 2: Tentei reparar mysql.proc, com o comando myisamchk -r -q, mas o problema não foi resolvido. Conforme instruções da URL: https://dev.mysql.com/doc/refman/8.0/en/myisam-repair.html
Desde já, obrigado!
Att.
Jorge Eurípedes
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.