Estou conectado a um banco de dados foo
e quero resolver onde está o diretório subjacente para esse banco de dados, quais são minhas opções? Obviamente, posso raciocinar a partir de datadir
, e do nome do banco de dados, mas há problemas com isso: exige que eu implemente minha própria encode
função para mapear identificadores para nomes de arquivos. . Que é dependente de codificação .
Este processo de codificação é obrigatório, o banco de dados foo._234-asdf
mapeia para o diretório de dados /var/lib/mysql/foo@002e_234@002dasdf
.
Existe uma maneira compatível de consultar o diretório de dados para um banco de dados específico ou para o banco de dados conectado?
Eu não poderia encontrar uma maneira melhor de fazer isso do que rolar minha própria rotina. Atualmente, estou usando este código perl:
Para saber a qual banco de dados sua sessão está conectada, dispare abaixo da consulta:
Para buscar o caminho para percorrer o diretório do esquema, a saída da consulta abaixo pode ser usada: