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.