Para Windows, a partir do MySQL Installer 1.4.6 (07-04-2015) , o local dos dados pode ser especificado em uma chave do Registro que especifica o local do my.iniarquivo, portanto, se os dados foram inicialmente instalados em um local não padrão o my.iniarquivo não estará em C:\ProgramData\MySQL\MySQL Server x.x\.
A localização dos valores do registro é (pelo menos a partir do MySQL 5.6):
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\MySQL AB\MySQL Server x.x\
Locationé um REG_SZque aponta para a pasta onde os arquivos do aplicativo MySQL estão localizados; por padrão:C:\Program Files\MySQL\MySQL Server x.x\
DataLocationé um REG_SZque aponta para a pasta onde my.iniestá localizado; por padrão também:C:\Program Files\MySQL\MySQL Server x.x\
Além disso, o my.inicaminho do arquivo está incluído no comando service sob essa chave do Registro:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\MySQLXXno ImagePath REG_EXPAND_SZvalor
O valor padrão dessa sequência é: "C:/Program Files/MySQL/MySQL Server 5.6/bin\mysqld" --defaults-file="C:\Program Files\MySQL\MySQL Server x.x\my.ini" MySQLXX
Portanto, a conclusão é que, para mover arquivos de dados nesse cenário, você deve seguir as etapas postadas pelo @ITCuties com algumas adições.
Aqui estão as etapas completas:
- Desligamento mysql.
- Procure o
DataLocationvalor do registro acima para encontrar o my.inilocal atual do arquivo e, se desejar mover o my.iniarquivo, atualize o DataLocationcaminho e mova o my.iniarquivo para esse novo caminho.
- Se você estiver alterando o local do
my.iniarquivo, precisará atualizar o caminho na chave de registro de comando de serviço listada acima.
- Abra o
my.iniarquivo, localize o datadirparâmetro Mova os arquivos desse datadircaminho para o caminho em que você deseja que os dados residam e também atualize o datadirparâmetro com esse novo caminho.
- Inicie o mysql.