mysqldump - Stvorite zasebnog korisnika za sigurnosno kopiranje MariaDB baza podataka


Kao što možda već znate, mysqldump jedan je od najboljih uslužnih programa koje možete koristiti za sigurnosno kopiranje MariaDB baza podataka. Ovaj vodič pokazuje kako napraviti sigurnosnu kopiju MariaDB baze podataka na siguran način uz pomoć posebnog korisnika sigurnosne kopije.

mysqldump

Većina korisnika MariaDB/MySQL upoznata je sa sljedeće tri naredbe za sigurnosno kopiranje.

Sigurnosno kopirajte jednu bazu podataka

mysqldump -u root -p db_name > db_backup.sql

Sigurnosno kopirajte više baza podataka

mysqldump -u root -p --databases db1_name db2_name > multi_db_backup.sql

Sigurnosno kopirajte sve baze podataka

mysqldump -u root -p --all-databases > all_db_backup.sql

Što je loše u korištenju root korisnika za sigurnosno kopiranje?

Gornje 3 naredbe zahtijevaju da interaktivno unesete MariaDB root korisničku lozinku. Da biste automatizirali sigurnosno kopiranje MariaDB-a, vjerojatno ćete morati postaviti cron posao i unijeti lozinku nakon opcije -p kao ispod.

0 4 * * * mysqldump -u root -proot-password db_name > db_backup.sql

Stavljanje lozinke jednostavnog teksta MariaDB root korisnika u crontab datoteku ili bilo koju drugu datoteku je loša ideja. MariaDB root korisnik ima sve privilegije baza podataka. Može učiniti bilo što u bazama podataka. Bolje je stvoriti zasebnog korisnika samo za sigurnosno kopiranje nego koristiti MariaDB root korisnika.

Da biste stvorili pričuvnog korisnika, prvo se prijavite u MariaDB monitor pokretanjem sljedeće naredbe. Unesite MariaDB root korisničku lozinku kada se to od vas zatraži.

mysql -u root -p

Za sigurnosno kopiranje baza podataka korisnik samo treba moći zaključati tablice i čitati podatke iz svih baza podataka i tablica. Stvorite rezervnog korisnika i dodijelite mu dopuštenja za zaključavanje tablica i select pomoću sljedećih MariaDB naredbi. Ovaj će vodič nazvati ovog zasebnog korisnika "backupuser" (bez navodnika).

CREATE USER 'backupuser'@'localhost' IDENTIFIED BY 'secret-password';

GRANT LOCK TABLES, SELECT, PROCESS ON *.* TO 'backupuser'@'localhost';

FLUSH PRIVILEGES;

EXIT;

Sada možete postaviti cron posao za sigurnosno kopiranje baze podataka s ovim korisnikom kao u nastavku:

0 4 * * * mysqldump -u backupuser -pbackupuser-password db_name > db_backup.sql

Komentari, pitanja ili prijedlozi uvijek su dobrodošli. Ako mislite da je ovaj post koristan, podijelite ga sa svojim prijateljima na društvenim mrežama! Pratite nas za još vodiča.