Kako prenesti vse baze MySQL s starega na nov strežnik


Prenos ali preselitev baze podatkov MySQL/MariaDB med strežniki običajno traja le nekaj preprostih korakov, vendar lahko prenos podatkov traja nekaj časa, odvisno od količine podatkov, ki jih želite prenesti.

V tem članku boste izvedeli, kako vse svoje baze podatkov MySQL/MariaDB prenesti ali preseliti iz starega strežnika Linux na nov strežnik, ga uspešno uvoziti in potrditi, da so podatki tam.

  • Poskrbite, da bo na obeh strežnikih nameščena ista različica MySQL z enako distribucijo.
  • Poskrbite, da bo na strežniku dovolj prostora za shranjevanje datoteke izpisa baze podatkov in uvožene baze podatkov.
  • Nikoli ne razmišljajte o premikanju imenika data baze podatkov na drug strežnik. Nikoli se ne zapletajte v notranjo strukturo zbirke podatkov. Če se to zgodi, se boste v prihodnosti soočili s težavami.

Izvozite zbirko podatkov MySQL v datoteko dump

Najprej se prijavite tako, da se prijavite v svoj stari strežnik in storitev MySQL/mariadb ustavite z ukazom systemctl, kot je prikazano.

# systemctl stop mariadb
OR
# systemctl stop mysql

Nato z ukazom mysqldump odstranite vse svoje baze podatkov MySQL v eno datoteko.

# mysqldump -u [user] -p --all-databases > all_databases.sql

Ko je izpis končan, ste pripravljeni na prenos baz podatkov.

Če želite odstraniti eno bazo podatkov, lahko uporabite:

# mysqldump -u root -p --opt [database name] > database_name.sql

Prenesite datoteko izpisa podatkovnih baz MySQL na nov strežnik

Zdaj uporabite ukaz scp za prenos datoteke izpisa podatkovnih baz na nov strežnik v domačem imeniku, kot je prikazano.

# scp all_databases.sql [email :~/       [All Databases]
# scp database_name.sql [email :~/       [Singe Database]

Ko se povežete, bo zbirka podatkov prenesena na nov strežnik.

Uvoz datoteke izpisa baz podatkov MySQL v nov strežnik

Ko je datoteka izpisa MySQL prenesena na nov strežnik, lahko z naslednjim ukazom uvozite vse svoje baze podatkov v MySQL.

# mysql -u [user] -p --all-databases < all_databases.sql   [All Databases]
# mysql -u [user] -p newdatabase < database_name.sql      [Singe Database]

Ko je uvoz končan, lahko z naslednjim ukazom v lupini mysql preverite zbirke podatkov na obeh strežnikih.

# mysql -u user -p
# show databases;

Prenos baz podatkov in uporabnikov MySQL na nov strežnik

Če želite vse svoje baze podatkov MySQL, uporabnike, dovoljenja in podatkovno strukturo premakniti na nov strežnik, lahko z ukazom rsync kopirate vso vsebino iz podatkovnega imenika mysql/mariadb v nov strežnik, kot je prikazano.

# rsync -avz /var/lib/mysql/* [email :/var/lib/mysql/ 

Ko je prenos končan, lahko lastništvo podatkovnega imenika mysql/mariadb nastavite na uporabnika in skupino mysql, nato pa naredite seznam imenikov, da preverite, ali so bile vse datoteke prenesene.

# chown mysql:mysql -R /var/lib/mysql/
# ls  -l /var/lib/mysql/

To je vse! V tem članku ste izvedeli, kako enostavno preseliti vse baze podatkov MySQL/MariaDB z enega strežnika na drugega. Kako se vam zdi ta metoda v primerjavi z drugimi metodami? Radi bi nas slišali preko spodnjega obrazca za komentarje, da nas kontaktirate.