Kako prenijeti sve MySQL baze podataka sa starog na novi poslužitelj


Prijenos ili migracija MySQL/MariaDB baze podataka između poslužitelja obično traje samo nekoliko jednostavnih koraka, ali prijenos podataka može potrajati neko vrijeme ovisno o količini podataka koje želite prenijeti.

U ovom ćete članku naučiti kako prenijeti ili migrirati sve vaše MySQL/MariaDB baze podataka sa starog Linux poslužitelja na novi poslužitelj, uspješno ih uvesti i potvrditi da su podaci tamo.

Važne bilješke

  • Provjerite imate li istu verziju MySQL-a instaliranu na oba poslužitelja s istom distribucijom.
  • Provjerite imate li dovoljno slobodnog prostora na oba poslužitelja za držanje datoteke ispisa baze podataka i uvezene baze podataka.
  • Nikada nemojte razmišljati o premještanju direktorija data baze podataka na drugi poslužitelj. Nikada ne petljajte s unutarnjom strukturom baze podataka, ako to učinite, suočit ćete se s problemima u budućnosti.

Izvezite MySQL baze podataka u Dump datoteku

Najprije započnite tako što ćete se prijaviti na svoj stari poslužitelj i zaustaviti uslugu mysql/mariadb pomoću naredbe systemctl kao što je prikazano.

systemctl stop mariadb
OR
systemctl stop mysql

Zatim ispišite sve svoje MySQL baze podataka u jednu datoteku pomoću naredbe mysqldump.

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

Nakon što je dump dovršen, spremni ste za prijenos baza podataka.

Ako želite ispisati jednu bazu podataka, možete koristiti:

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

Prijenos MySQL datoteke ispisa baza podataka na novi poslužitelj

Sada upotrijebite naredbu scp za prijenos datoteke dumpa vaše baze podataka na novi poslužitelj u matični direktorij kao što je prikazano.

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

Nakon što se povežete, baza podataka bit će prebačena na novi poslužitelj.

Uvezite Dump datoteku MySQL baza podataka na novi poslužitelj

Nakon što je MySQL dump datoteka prenesena na novi poslužitelj, možete koristiti sljedeću naredbu za uvoz svih vaših baza podataka u MySQL.

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

Nakon što je uvoz dovršen, možete provjeriti baze podataka na oba poslužitelja pomoću sljedeće naredbe na mysql ljusci.

mysql -u user -p
show databases;

Prijenos MySQL baza podataka i korisnika na novi poslužitelj

Ako želite premjestiti sve svoje MySQL baze podataka, korisnike, dopuštenja i strukturu podataka sa starog poslužitelja na novi, možete koristiti naredbu rsync za kopiranje cijelog sadržaja iz direktorija podataka mysql/mariadb na novi poslužitelj kao što je prikazano.

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

Nakon dovršetka prijenosa, možete postaviti vlasništvo nad imenikom podataka mysql/mariadb na korisnika i grupu mysql, a zatim napravite popis direktorija da provjerite jesu li sve datoteke prenesene.

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

Kako migrirati MySQL bazu podataka koristeći GUI

Moderni alati za baze podataka omogućuju korisnicima pojednostavljenje zadataka migracije MySQL baze podataka. Glavni čimbenik je korisničko sučelje koje ih vodi kroz svaki korak procesa migracije. Za konfiguraciju zadatka potrebno je nekoliko klikova – nema potrebe da ručno upisujete naredbe za prijenos MySQL baze podataka na novo odredište.

Tipično, takvi alati podržavaju različite metode prijenosa cijelih baza podataka ili njihovih dijelova. To može biti sigurnosno kopiranje i vraćanje, kopiranje baza podataka, uvoz i izvoz podataka itd.

Osim toga, MySQL alat za migraciju podataka može biti samostalno rješenje ili dio puno moćnijeg skupa alata kao što je dbForge Studio za MySQL, prikladan za pokrivanje svih ostalih zadataka baze podataka.

To je sve! U ovom ste članku naučili kako jednostavno migrirati sve MySQL/MariaDB baze podataka s jednog poslužitelja na drugi. Kako vam se čini ova metoda u usporedbi s drugim metodama? Željeli bismo čuti vaše mišljenje putem donjeg obrasca za komentare kako biste nas kontaktirali.