przenieś folder danych i przenieś mysql centos

11

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

Vladimir Kakazsky
źródło
@abdelsaid nie, używam myisam

Odpowiedzi:

13

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ą mvpolecenia.

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/mysqli zaktualizuj do datadir = /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.

Księga Zeusa
źródło
0

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.

vimdude
źródło