Risposte:
Apri l'interfaccia della riga di comando di Windows come amministratore e spegni MySQL
net stop mysql
Copia i dati in D:\ProgramData\Data
xcopy /s C:\ProgramData\MySQL\MySQL Server 5.6\data D:\ProgramData\Data
Crea o modifica C:\ProgramData\MySQL\MySQL Server 5.6\my.ini
Aggiungi questo a my.ini
[mysqld]
datadir = D:/ProgramData/Data
Avvia MySQL
net start mysql
Se non è possibile eseguire net start mysql
, provare il pannello di controllo di Windows.
Accedi a MySQL e verifica che tutto sia a posto
Quando accedi a MySQL, esegui questo
mysql> SHOW GLOBAL VARIABLES LIKE 'datadir';
Ricorda di assegnare alla tua nuova directory di dati le stesse autorizzazioni complete per gli utenti del servizio di rete e dell'amministratore utilizzate dalla directory dei dati predefinita, altrimenti causerà il temuto errore "avviato e quindi arrestato". Non eliminare questa directory fino a quando non sei sicuro che la tua nuova funzioni.
Se questo non funziona, ecco il piano di rollback:
net stop mysql
del "C:\ProgramData\MySQL\MySQL Server 5.6\my.ini"
net start mysql
Aggiunta di una risposta corrente per MySQL Server 8.0 su Windows 10 per come modificare la directory del database dopo l'installazione (l'ho cercata su Internet e non ho trovato una soluzione e sono quasi impazzita, quindi spero che questo aiuti qualcuno).
I primi passi sono gli stessi delle consuete altre istruzioni per MySQL Server 5.6. L'unica differenza è sostanzialmente il 3 ° passaggio:
Vai ai servizi (ad es. Premi WIN + R, digita services.msc
, premi invio) e interrompi il MySQL80
servizio facendo clic con il pulsante destro del mouse e facendo clic su "stop" (il nome del servizio viene specificato durante l'installazione, quindi il nome potrebbe essere diverso per te).
Sposta la cartella del database dove vuoi. La posizione iniziale è di solito C:\ProgramData\MySQL\MySQL Server 8.0\data
. All'interno della C:\ProgramData\MySQL\MySQL Server 8.0\
cartella, dovrebbe esserci un my.ini
file. Aprilo per modificarlo con Notepad ++ (o qualche altro blocco note) e cerca le righe che menzionano la vecchia posizione in qualche forma. Dovrebbero esserci due ricorrenze (una per datadir
, una per secure-file-priv
). Rinominare entrambi nella nuova posizione corrispondente (probabilmente è sufficiente rinominare la datadir
parte, ma è meglio prevenire che curare). Inizialmente, di solito sembrano così:
datadir=C:/ProgramData/MySQL/MySQL Server 8.0/Data
e
secure-file-priv="C:/ProgramData/MySQL/MySQL Server 8.0/Uploads"
Quindi, se la nuova posizione dovrebbe essere E:/MySQL/MySQL Server 8.0/...
, rinominare entrambe le voci in questo modo:
datadir=E:/MySQL/MySQL Server 8.0/Data
e
secure-file-priv="E:/MySQL/MySQL Server 8.0/Uploads"
Ora, dopo aver spostato il database e rinominato le voci nel my.ini
file, PRIMA di riavviare nuovamente il servizio, apri l'editor del registro (ad esempio premi WIN + R, digita "regedit", premi invio), vai a Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MySQL80
(ancora una volta, MySQL80
è il nome del servizio MySQL che hai scelto durante l'installazione e potrebbe differire da MySQL80
) e fai clic con il pulsante destro del mouse sulla ImagePath
voce e scegli modifica. Dovrebbe essere visualizzata una stringa simile a questa:
"C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe" --defaults-file="C:\ProgramData\MySQL\MySQL Server 8.0\my.ini" MySQL80
Questo è fondamentalmente il collegamento al file exe effettivo eseguito dal servizio con un parametro di file di configurazione aggiuntivo, ovvero quel my.ini
file che abbiamo modificato in precedenza. Pertanto, qui, ovviamente, anche il percorso del file di configurazione deve essere aggiornato, poiché è stato spostato, quindi per questo esempio, verrà modificato in:
"C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe" --defaults-file="E:\MySQL\MySQL Server 8.0\my.ini" MySQL80
Si noti che, ovviamente, è necessario modificare solo il percorso del file di configurazione.
Ora il servizio può essere riavviato! Vai di nuovo ai servizi e fai clic con il pulsante destro del mouse sul MySQL80
servizio per scegliere di nuovo l'opzione 'start' e dovrebbe riavviarsi senza problemi. Se il passaggio 3 viene saltato, il riavvio di solito non funzionerà!