Respostas:
Abra a CLI do Windows como administrador e desligue o MySQL
net stop mysql
Copie os dados para D:\ProgramData\Data
xcopy /s C:\ProgramData\MySQL\MySQL Server 5.6\data D:\ProgramData\Data
Criar ou editar C:\ProgramData\MySQL\MySQL Server 5.6\my.ini
Adicione isso ao my.ini
[mysqld]
datadir = D:/ProgramData/Data
Inicialização do MySQL
net start mysql
Se você não pode executar net start mysql
, tente o painel de controle do Windows.
Entre no MySQL e verifique se está tudo bem
Ao fazer login no MySQL, execute este
mysql> SHOW GLOBAL VARIABLES LIKE 'datadir';
Lembre-se de conceder ao seu novo diretório de dados as mesmas permissões completas para os usuários Serviço de Rede e Administrador que o diretório de dados padrão estava usando, caso contrário, causará o temido erro "iniciado e depois parado". Não exclua esse diretório até ter certeza de que seu novo está funcionando.
Se isso não funcionar, aqui está o plano de reversão:
net stop mysql
del "C:\ProgramData\MySQL\MySQL Server 5.6\my.ini"
net start mysql
Adicionando uma resposta atual para o servidor MySQL 8.0 no Windows 10 para saber como alterar o diretório do banco de dados após a instalação (procurei na internet e não encontrei uma solução e quase enlouqueci, então espero que isso ajude alguém).
Os primeiros passos são os mesmos das outras instruções usuais do MySQL Server 5.6. A única diferença é basicamente o terceiro passo:
Vá para serviços (por exemplo, pressione WIN + R, digite services.msc
, pressione enter) e pare o MySQL80
serviço clicando com o botão direito do mouse e clicando em 'parar' (o nome do serviço é especificado durante a instalação, portanto, o nome pode ser diferente para você).
Mova a pasta do banco de dados para onde quiser. A localização inicial é geralmente C:\ProgramData\MySQL\MySQL Server 8.0\data
. Dentro da C:\ProgramData\MySQL\MySQL Server 8.0\
pasta, deve haver um my.ini
arquivo. Abra-o para editá-lo com o Notepad ++ (ou outro bloco de notas) e procure as linhas que mencionam o local antigo de alguma forma. Deve haver duas ocorrências (uma para datadir
, uma para secure-file-priv
). Renomeie ambos para o novo local correspondente (possivelmente basta renomear a datadir
peça, mas é melhor prevenir do que remediar). Inicialmente, eles geralmente ficariam assim:
datadir=C:/ProgramData/MySQL/MySQL Server 8.0/Data
e
secure-file-priv="C:/ProgramData/MySQL/MySQL Server 8.0/Uploads"
Portanto, se o novo local deve ser E:/MySQL/MySQL Server 8.0/...
, renomeie as duas entradas desta maneira:
datadir=E:/MySQL/MySQL Server 8.0/Data
e
secure-file-priv="E:/MySQL/MySQL Server 8.0/Uploads"
Agora, depois de mover o banco de dados e renomear as entradas no my.ini
arquivo, ANTES de reiniciar o serviço novamente, abra o editor de registro (por exemplo, pressione WIN + R, digite "regedit", pressione enter) e navegue até Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MySQL80
(mais uma vez, este MySQL80
é o nome do serviço MySQL que você escolheu durante a instalação e pode diferir de MySQL80
) e clique com o botão direito do mouse na ImagePath
entrada e escolha modificar. Deve haver uma string exibida semelhante a esta:
"C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe" --defaults-file="C:\ProgramData\MySQL\MySQL Server 8.0\my.ini" MySQL80
Este é basicamente o link para o arquivo exe real executado pelo serviço com um parâmetro adicional do arquivo de configuração, ou seja, o my.ini
arquivo que modificamos anteriormente. Portanto, aqui, é claro, o caminho para o arquivo de configuração também precisa ser atualizado, uma vez que foi movido; portanto, neste exemplo, ele seria alterado para:
"C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe" --defaults-file="E:\MySQL\MySQL Server 8.0\my.ini" MySQL80
Observe que, é claro, apenas o caminho do arquivo de configuração precisa ser alterado.
Agora o serviço pode ser iniciado novamente! Vá para os serviços novamente e clique com o botão direito do mouse no MySQL80
serviço para escolher a opção 'Iniciar' novamente e ela deve reiniciar sem problemas. Se a etapa 3 for pulada, a reinicialização geralmente não funcionará!