Kako napraviti sigurnosnu kopiju i vratiti MySQL/MariaDB baze podataka u Linuxu


Ovaj članak vam pokazuje nekoliko praktičnih primjera o tome kako izvršiti različite operacije sigurnosnog kopiranja MySQL/MariaDB baza podataka pomoću naredbe mysqldump, a također ćemo vidjeti kako ih vratiti uz pomoć Komanda mysql i mysqlimport u Linuxu.

mysqldump je klijentski program iz komandne linije, koristi se za ispis lokalnih ili udaljenih MySQL baza podataka ili kolekcija baza podataka za sigurnosno kopiranje u jednu ravnu datoteku.

Pretpostavljamo da već imate MySQL instaliran na Linux sistemu sa administrativnim privilegijama i vjerujemo da već imate malu količinu znanja o MySQL .

Ako nemate instaliran MySQL ili nemate nikakvu izloženost MySQLu, pročitajte naše članke u nastavku.

  • Kako instalirati MySQL na RHEL-bazirane distribucije
  • Kako instalirati MySQL na Rocky Linux i AlmaLinux
  • Kako instalirati MySQL u Ubuntu Linux
  • Kako instalirati MySQL na Debian
  • 20 MySQL (Mysqladmin) naredbe za administraciju baze podataka u Linuxu
  • 12 MySQL/MariaDB sigurnosnih najboljih praksi za Linux

Kako napraviti sigurnosnu kopiju MySQL baze podataka u Linuxu?

Da biste napravili rezervnu kopiju MySQL baza podataka ili baza podataka, baza podataka mora postojati na serveru baze podataka i morate joj imati pristup. Format komande bi bio.

mysqldump -u [username] –p[password] [database_name] > [dump_file.sql]

Parametri navedene komande su sljedeći.

  • [username] : važeće MySQL korisničko ime.
  • [password] : Važeća MySQL lozinka za korisnika.
  • [database_name] : Važeće ime baze podataka za koju želite napraviti sigurnosnu kopiju.
  • [dump_file.sql]: Naziv datoteke sigurnosne kopije koju želite generirati.

Kako napraviti sigurnosnu kopiju jedne MySQL baze podataka?

Da napravite sigurnosnu kopiju jedne baze podataka, koristite naredbu kako slijedi. Komanda će ispisati strukturu baze podataka [rsyslog] sa podacima u jednu datoteku dump-a pod nazivom rsyslog.sql.

mysqldump -u root -ptecmint rsyslog > rsyslog.sql

Kako napraviti sigurnosnu kopiju više MySQL baza podataka?

Ako želite napraviti sigurnosnu kopiju više baza podataka, pokrenite sljedeću naredbu. Sljedeći primjer naredbe preuzima rezervnu kopiju strukture baza podataka [rsyslog, syslog] i podataka u jednu datoteku pod nazivom rsyslog_syslog.sql.

mysqldump -u root -ptecmint --databases rsyslog syslog > rsyslog_syslog.sql

Kako napraviti sigurnosnu kopiju svih MySQL baza podataka?

Ako želite napraviti sigurnosnu kopiju svih baza podataka, upotrijebite sljedeću naredbu s opcijom –all-database. Sljedeća naredba preuzima sigurnosnu kopiju svih baza podataka sa njihovom strukturom i podacima u datoteku pod nazivom all-databases.sql.

mysqldump -u root -ptecmint --all-databases > all-databases.sql

Kako napraviti rezervnu kopiju samo strukture MySQL baze podataka?

Ako želite samo sigurnosnu kopiju strukture baze podataka bez podataka, tada koristite opciju –no-data u naredbi. Naredba ispod izvozi bazu podataka [rsyslog] Strukturu u datoteku rsyslog_structure.sql.

mysqldump -u root -ptecmint -–no-data rsyslog > rsyslog_structure.sql

Kako napraviti sigurnosnu kopiju samo podataka MySQL baze podataka?

Da napravite sigurnosnu kopiju podataka bez strukture, koristite opciju –no-create-info uz naredbu. Ova komanda preuzima bazu podataka [rsyslog] Podatke u datoteku rsyslog_data.sql.

mysqldump -u root -ptecmint --no-create-db --no-create-info rsyslog > rsyslog_data.sql

Kako napraviti sigurnosnu kopiju jedne tabele baze podataka?

Pomoću donje naredbe možete napraviti sigurnosnu kopiju jedne tabele ili određenih tabela vaše baze podataka. Na primjer, sljedeća komanda uzima samo rezervnu kopiju tabele wp_posts iz baze podataka wordpress.

mysqldump -u root -ptecmint wordpress wp_posts > wordpress_posts.sql

Kako napraviti sigurnosnu kopiju više tabela baze podataka?

Ako želite da napravite rezervnu kopiju više ili određenih tabela iz baze podataka, odvojite svaku tabelu razmakom.

mysqldump -u root -ptecmint wordpress wp_posts wp_comments > wordpress_posts_comments.sql

Kako napraviti sigurnosnu kopiju udaljene MySQL baze podataka

Naredba u nastavku preuzima rezervnu kopiju baze podataka [galerija] udaljenog servera [172.16.25.126] na lokalni server.

mysqldump -h 172.16.25.126 -u root -ptecmint gallery > gallery.sql

Kako vratiti MySQL bazu podataka?

U gornjem tutorijalu vidjeli smo kako napraviti sigurnosnu kopiju samo baza podataka, tabela, struktura i podataka, a sada ćemo vidjeti kako ih vratiti koristeći sljedeći format.

# mysql -u [username] –p[password] [database_name] < [dump_file.sql]

Kako vratiti jednu MySQL bazu podataka

Da biste vratili bazu podataka, morate kreirati praznu bazu podataka na ciljnoj mašini i vratiti bazu podataka pomoću naredbe msyql. Na primjer, sljedeća komanda će vratiti datoteku rsyslog.sql u bazu podataka rsyslog.

mysql -u root -ptecmint rsyslog < rsyslog.sql

Ako želite da vratite bazu podataka koja već postoji na ciljanoj mašini, onda ćete morati da koristite naredbu mysqlimport.

mysqlimport -u root -ptecmint rsyslog < rsyslog.sql

Na isti način, također možete vratiti tablice, strukture i podatke baze podataka. Ako vam se svidio ovaj članak, podijelite ga sa svojim prijateljima.