Modifica il percorso del datadir esistente


20

Voglio cambiare il datadirpercorso nel my.inifile.

Il datadirpercorso esistente èC:/ProgramData/MySQL/MySQL Server 5.1/Data/

La dimensione del mio C:disco è di 30 GB e la cartella di dati MySQL occupa 25 GB. Quindi voglio cambiare l' datadira F:/naveen/data.

È possibile?

La mia macchina esegue Windows Server 2003 .

Risposte:


26

Dai tuoi percorsi, posso tranquillamente presumere quanto segue:

  • Stai eseguendo MySQL in Windows
  • Hai usato MySQL MSI per l'installazione

Quello che devi fare è stabilire il file my.ini

Quando si installa MySQL per Windows utilizzando MSI, la posizione di my.ini dovrebbe essere C:/ProgramData/MySQL/MySQL Server 5.1.

Si prega di eseguire quanto segue in una finestra DOS:

cd C:/ProgramData/MySQL/MySQL Server 5.1
dir *.ini

Vedrai alcuni file my.ini di esempio. Tuttavia, se non esiste alcun file denominato my.ini in quella cartella, è necessario crearne uno. Se ne esiste uno o meno, si prega di eseguire questo:

cd C:/ProgramData/MySQL/MySQL Server 5.1
notepad my.ini

Se ti viene chiesto di crearlo, ti preghiamo di farlo.

Quindi, crea la seguente voce sotto l'intestazione del gruppo [mysqld] in my.ini:

[mysqld]
datadir=F:/naveen/data

Salva my.ini

Quindi, interrompere mysql dalla riga di comando DOS in questo modo:

C:\> net stop mysql

Successivamente, crea una copia dell'intera cartella di dati nella nuova posizione

C:\> xcopy "C:\ProgramData\MySQL\MySQL Server 5.1\data" F:\naveen\data /s

Ultimo passo, avvia mysql

C:\> net start mysql

Prova ad accedere a mysql. Dopo aver effettuato correttamente l'accesso a mysql, eseguire questo comando:

show variables like 'datadir';

Se si F:\naveen\datapresenta come il datadir, CONGRATULAZIONI, LO AVETE FATTO GIUSTO !!!

Una volta che sei soddisfatto di tutte le tue app che colpiscono MySQL, puoi eliminare tutto C:\ProgramData\MySQL\MySQL Server 5.1\data\*

Provaci !!!


Posso sapere che i passaggi precedenti funzioneranno per Windows Server 2008?

Funziona, ma molto probabilmente verrà visualizzato l'errore 1067. Controlla le autorizzazioni per la nuova directory

2
A volte il servizio è registrato come MySQL57, è necessario verificare prima.
giannis christofakis,

2
Ho fatto un errore noob e non ho copiato i permessi. mysql non si riavvierebbe. Ho provato a fornire al SERVIZIO DI RETE pieno accesso al datadir (come da altri suggerimenti online) e ha generato errori di autorizzazione. Se questo accade a te, dai a "Tutti" il pieno controllo delle sottodirectory dei dati ed eredita i bambini. Quindi vai alla cartella principale (datadir), abilita l'ereditarietà tramite le autorizzazioni "Avanzate" e applica a tutti i figli. È quindi possibile aggiungere il SERVIZIO DI RETE al proprio datadir, dandogli il pieno controllo e che si propagherà ai bambini.
murraybiscuit,

2
Dovresti usare xcopy /O/X/E/H/Kinvece che xcopy /Sin questa risposta.
Ethan Allen,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.