muszę przenieść dane do innego folderu i dysku na moim serwerze db cent os.
dodałem nowy dysk twardy (ponieważ zabrakło nam miejsca),
mam 1 TB dysku twardego i mam nowy 2 TB Chcę umieścić dane na tym samym serwerze (serwer dedykowany hostowany w centrum danych)
chciałbym wiedzieć, jaki jest łatwy sposób migracji danych bez utraty danych?
obecnie mam dane w: /var/lib/mysql/
on cent os.mysql version is 5.1
Odpowiedzi:
Krok 1
Najpierw skonfiguruj dysk (zakładając, że jest on zamontowany i poprawnie skonfigurowany w fstab) i utwórz nowy katalog MySQL:
sudo mkdir /path/to/new/mysql
Upewnij się, że ten folder ma odpowiednie uprawnienia:
chown -R mysql:mysql /data/mysql
Teraz możesz wyłączyć usługę podczas kopiowania danych. Skopiuj dane z bieżącego katalogu danych do nowego katalogu danych, na przykład :.
sudo cp -R /var/lib/mysql/* /path/to/new/mysql/
lub możesz skopiować indywidualnie każdą bazę danych, jeśli wolisz lub czujesz się bezpiecznie, możesz przenieść folder za pomocą
mv
polecenia.Krok 2
Możesz zmienić lokalizację swoich danych MySQL w swoim
my.cnf
. Jeśli nie wiesz, gdzie jest ten plik, możesz uruchomić polecenie:locate my.cnf
To da ci ścieżkę gdzie znajduje się my.cnf. Następnie edytuj plik:
sudo vi /etc/mysql/my.cnf
(oczywiście musisz zastąpić swoją ścieżką)Teraz poszukaj
datadir = /var/lib/mysql
i zaktualizuj dodatadir = /path/to/new/mysql
.Następnie uruchom ponownie mysql
sudo /etc/init.d/mysqld restart
Po kilku dniach / tygodniach, jeśli czujesz się komfortowo, możesz usunąć stary folder (/ var / lib / mysql) lub wykonać kopię zapasową wszystkiego w środku.
źródło
Jeśli nie chcesz wyłączać się podczas migracji, skonfigurowałbym replikację master-master w środowisku chroot na 2 TB z mysql (ta sama wersja), a następnie po zsynchronizowaniu wyłącz 1 TB, a otrzymasz działające środowisko chroot.
Jeśli nie chcesz używać środowiska chroot, zmień plik my.cnf (nie chroot), aby wskazywał miejsce, w którym chcesz przechowywać pliki mysql na dysku 2 TB, i wyłącz replikację. Następnie wyłącz środowisko chroot i przenieś dane do tego, co masz w my.cnf, przeniesienie tutaj nie zajmie nawet sekundy, ponieważ znajduje się na tym samym dysku. Uruchom ponownie mysql.
Jest to trochę skomplikowane, możesz najpierw grać z tym w lokalnym środowisku VM.
źródło