Zmień istniejącą ścieżkę danych

20

Chcę zmienić datadirścieżkę w my.inipliku.

Istniejąca datadirścieżka toC:/ProgramData/MySQL/MySQL Server 5.1/Data/

Rozmiar mojego C:dysku wynosi 30 GB, a folder danych MySQL zajmuje 25 GB. Więc chcę zmienić datadirsię F:/naveen/data.

czy to możliwe?

Mój komputer ma system Windows Server 2003 .

naveen
źródło

Odpowiedzi:

26

Z twoich ścieżek mogę bezpiecznie założyć, co następuje:

  • Używasz MySQL w systemie Windows
  • Użyłeś MySQL MSI do instalacji

Musisz tylko utworzyć plik my.ini

Podczas instalowania MySQL dla Windows za pomocą MSI, lokalizacja my.ini powinna się znajdować C:/ProgramData/MySQL/MySQL Server 5.1.

Uruchom następujące polecenie w oknie DOS:

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

Zobaczysz przykładowe pliki my.ini. Jeśli jednak w tym folderze nie ma pliku o nazwie my.ini, musisz go utworzyć. Niezależnie od tego, czy istnieje, uruchom następujące polecenie:

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

Jeśli zostaniesz o to poproszony, zrób to.

Następnie utwórz następujący wpis w nagłówku grupy [mysqld] w my.ini:

[mysqld]
datadir=F:/naveen/data

Zapisz my.ini

Następnie zatrzymaj mysql w wierszu poleceń DOS w następujący sposób:

C:\> net stop mysql

Następnie wykonaj kopię całego folderu danych w nowej lokalizacji

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

Ostatnim krokiem jest uruchomienie mysql

C:\> net start mysql

Spróbuj zalogować się do mysql. Po pomyślnym zalogowaniu się do mysql uruchom następujące polecenie:

show variables like 'datadir';

Jeśli F:\naveen\datapojawia się jako datadir, GRATULACJE, ZROBISZ TO PRAWO !!!

Gdy będziesz zadowolony, że wszystkie aplikacje trafiające do MySQL działają, możesz usunąć wszystko z C:\ProgramData\MySQL\MySQL Server 5.1\data\*

Spróbuj !!!

RolandoMySQLDBA
źródło
Czy mogę wiedzieć, że powyższe kroki będą działać w systemie Windows Server 2008?
Działa, ale najprawdopodobniej pojawi się błąd 1067. Sprawdź uprawnienia do nowego katalogu
2
Czasami usługa jest zarejestrowana jako MySQL57, musisz najpierw sprawdzić.
giannis christofakis,
2
Popełniłem błąd noob i nie skopiowałem uprawnień. mysql nie uruchomi się ponownie. Próbowałem dać NETWORK SERVICE pełny dostęp do datadiru (zgodnie z innymi sugestiami online), a to spowodowało błędy uprawnień. Jeśli tak się stanie, daj „Wszyscy” pełną kontrolę nad podkatalogami danych i dziedzicz dzieci. Następnie przejdź do folderu nadrzędnego (datadir), włącz dziedziczenie za pomocą uprawnień „Zaawansowane” i zastosuj do wszystkich elementów podrzędnych. Następnie możesz dodać USŁUGĘ SIECIOWĄ do swojego katalogu danych, dając mu pełną kontrolę, a to rozprzestrzeni się na dzieci.
murraybiscuit
2
Powinieneś użyć xcopy /O/X/E/H/Kzamiast xcopy /Sw tej odpowiedzi.
Ethan Allen,