Zmiana katalogu danych na serwerze MySQL DB

10

Zainstalowałem serwer mysql 5.6.24 na Windows Server 2012 R2.

Zaimportowałem pliki zrzutu, a pliki danych są przechowywane w C:\ProgramData\MySQL\MySQL Server 5.6\data

Chcę zmienić katalog jak D:\ProgramData\Data.

Czy możesz mi pomóc, ktokolwiek?

użytkownik73314
źródło

Odpowiedzi:

10
  1. Otwórz Windows CLI jako Administrator i zamknij MySQL

    net stop mysql
  2. Skopiuj dane do D:\ProgramData\Data

    xcopy /s C:\ProgramData\MySQL\MySQL Server 5.6\data D:\ProgramData\Data
  3. Utwórz lub edytuj C:\ProgramData\MySQL\MySQL Server 5.6\my.ini

    Dodaj to do my.ini

    [mysqld]
    datadir = D:/ProgramData/Data
  4. Uruchom MySQL

    net start mysql

    Jeśli nie możesz wykonać net start mysql, wypróbuj panel sterowania Windows.

  5. Zaloguj się do MySQL i sprawdź, czy wszystko jest w porządku

Po zalogowaniu się do MySQL uruchom to

mysql> SHOW GLOBAL VARIABLES LIKE 'datadir';

Pamiętaj, aby nadać nowemu katalogowi danych takie same pełne uprawnienia dla użytkowników usługi sieciowej i administratora , z których korzystał domyślny katalog danych , w przeciwnym razie spowoduje to przerażający błąd „uruchomione, a następnie zatrzymane”. Nie usuwaj tego katalogu, dopóki nie upewnisz się, że nowy działa.

Jeśli to nie zadziała, oto plan wycofania:

net stop mysql
del "C:\ProgramData\MySQL\MySQL Server 5.6\my.ini"
net start mysql
RolandoMySQLDBA
źródło
0

Dodając aktualną odpowiedź dla serwera MySQL 8.0 w systemie Windows 10, w jaki sposób zmienić katalog bazy danych po instalacji (szukałem go w Internecie i nie znalazłem rozwiązania i prawie oszalałem, więc mam nadzieję, że to komuś pomoże).

Pierwsze kroki są takie same jak w zwykłych innych instrukcjach dla MySQL Server 5.6. Jedyną różnicą jest zasadniczo trzeci krok:

  1. Przejdź do usług (np. Naciśnij WIN + R, wpisz services.msc, naciśnij Enter) i zatrzymaj MySQL80usługę klikając prawym przyciskiem myszy i klikając „zatrzymaj” (nazwa usługi jest określana podczas instalacji, więc nazwa może być inna).

  2. Przenieś folder bazy danych w dowolne miejsce. Początkowa lokalizacja to zazwyczaj C:\ProgramData\MySQL\MySQL Server 8.0\data. W C:\ProgramData\MySQL\MySQL Server 8.0\folderze powinien znajdować się my.iniplik. Otwórz go, aby edytować w Notatniku ++ (lub innym notatniku) i wyszukaj wiersze, które wspominają starą lokalizację w jakiejś formie. Powinny istnieć dwa przypadki (jeden za datadir, jeden za secure-file-priv). Zmień nazwę zarówno na odpowiednią nową lokalizację (być może wystarczy zmienić nazwę datadirczęści, ale lepiej być bezpiecznym niż żałować). Początkowo wyglądałyby tak:

    datadir=C:/ProgramData/MySQL/MySQL Server 8.0/Data

    i

    secure-file-priv="C:/ProgramData/MySQL/MySQL Server 8.0/Uploads"

    Więc jeśli nowa lokalizacja powinna być E:/MySQL/MySQL Server 8.0/..., zmień nazwę obu wpisów w ten sposób:

    datadir=E:/MySQL/MySQL Server 8.0/Data

    i

    secure-file-priv="E:/MySQL/MySQL Server 8.0/Uploads"
  3. Teraz, po przeniesieniu bazy danych i zmianie nazw wpisów w my.inipliku PRZED ponownym uruchomieniem usługi, otwórz edytor rejestru (np. Naciśnij WIN + R, wpisz „regedit”, naciśnij Enter), przejdź do Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MySQL80(jeszcze raz, MySQL80jest to nazwa usługi MySQL, którą wybrałeś podczas instalacji i może się różnić od MySQL80) i kliknij ImagePathwpis prawym przyciskiem myszy i wybierz polecenie zmodyfikuj. Powinien być wyświetlany ciąg podobny do tego:

    "C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe" --defaults-file="C:\ProgramData\MySQL\MySQL Server 8.0\my.ini" MySQL80

    Jest to w zasadzie link do rzeczywistego pliku exe wykonywanego przez usługę z dodatkowym parametrem pliku konfiguracyjnego, mianowicie tym my.iniplikiem, który zmodyfikowaliśmy wcześniej. Dlatego tutaj oczywiście należy również zaktualizować ścieżkę do pliku konfiguracyjnego, ponieważ został on przeniesiony, więc w tym przykładzie zostałby zmieniony na:

    "C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe" --defaults-file="E:\MySQL\MySQL Server 8.0\my.ini" MySQL80

    Należy pamiętać, że oczywiście należy zmienić tylko ścieżkę do pliku konfiguracyjnego.

  4. Teraz usługa może zostać ponownie uruchomiona! Przejdź ponownie do usług i kliknij MySQL80usługę prawym przyciskiem myszy , aby ponownie wybrać opcję „uruchom” i powinna ona zostać uruchomiona ponownie bez problemów. Jeśli krok 3 zostanie pominięty, ponowne uruchomienie zwykle nie działa!

kushy
źródło