How to Get Back Deleted Data in SQL Server Using Transaction Log LSNs
Sisällysluettelo:
- Mysqldump-komennon syntaksi
- Varmuuskopioi yksi MySQL-tietokanta
- Varmuuskopioi useita MySQL-tietokantoja
- Varmuuskopioi kaikki MySQL-tietokannat
- Varmuuskopioi kaikki MySQL-tietokannat tiedostojen erottamiseksi
- Luo pakattu MySQL-tietokannan varmuuskopio
- Luo varmuuskopio aikaleiman avulla
- MySQL-dumpin palauttaminen
- Palauta yksi MySQL-tietokanta kokonaisesta MySQL-lähteestä
- Vie ja tuo MySQL-tietokanta yhdessä komennossa
- Automatisoi varmuuskopiot Cronilla
- johtopäätös
Tämä opetusohjelma selittää, kuinka varmuuskopioida ja palauttaa MySQL- tai MariaDB-tietokannat komentoriviltä mysqldump-apuohjelman avulla.
Mysqldump-apuohjelman luomat varmuuskopiot ovat pohjimmiltaan joukko SQL-lauseita, joita voidaan käyttää alkuperäisen tietokannan luomiseen. Mysqldump-komento voi myös luoda tiedostoja CSV- ja XML-muodossa.
Voit käyttää mysqldump-apuohjelmaa myös MySQL-tietokannan siirtämiseen toiseen MySQL-palvelimeen.
Mysqldump-komennon syntaksi
Ennen kuin aloitamme mysqldump-komennon käytön, aloittakaamme tarkistamalla perussintaksi.
Mysqldump-apulausekkeet ovat seuraavassa muodossa:
mysqldump > file.sql
-
options
- mysqldump optionsfile.sql
- dump (varmuuskopiotiedosto)
MySQL-palvelimen on oltava käytettävissä ja käynnissä, jotta voit käyttää mysqldump-komentoa.
Varmuuskopioi yksi MySQL-tietokanta
Mysqldump-työkalun yleisin käyttötapa on yhden tietokannan varmuuskopiointi.
Esimerkiksi, jos haluat luoda varmuuskopion tietokannasta nimeltä
database_name
käyttäjän
root
käyttämällä ja tallentaa sen tiedostoon nimeltä
database_name.sql
suorita seuraava komento:
mysqldump -u root -p database_name > database_name.sql
Sinua pyydetään antamaan pääsalasana. Onnistuneen todennuksen jälkeen dumppausprosessi alkaa. Tietokannan koosta riippuen prosessi voi viedä jonkin aikaa.
mysqldump database_name > database_name.sql
Varmuuskopioi useita MySQL-tietokantoja
Varmuuskopioidaksesi useita MySQL-tietokantoja yhdellä komennolla sinun on käytettävä
--database
vaihtoehtoa ja sen jälkeen luetteloa tietokannoista, jotka haluat varmuuskopioida. Jokainen tietokannan nimi on erotettava välilyönnillä.
mysqldump -u root -p --databases database_name_a database_name_b > databases_a_b.sql
Yllä oleva komento luo dump-tiedoston, joka sisältää molemmat tietokannat.
Varmuuskopioi kaikki MySQL-tietokannat
Käytä -
--all-databases
-vaihtoehtoa kaikkien MySQL-tietokantojen varmuuskopiointiin:
mysqldump -u root -p --all-databases > all_databases.sql
Kuten edellisessä esimerkissä, yllä oleva komento luo yhden dump-tiedoston, joka sisältää kaikki tietokannat.
Varmuuskopioi kaikki MySQL-tietokannat tiedostojen erottamiseksi
mysqldump
apuohjelma ei tarjoa mahdollisuutta varmuuskopioida kaikki tietokannat erillisiksi tiedostoiksi, mutta saavutamme sen helposti yksinkertaisella bash
FOR
-silmukalla:
for DB in $(mysql -e 'show databases' -s --skip-column-names); do mysqldump $DB > "$DB.sql"; done
Yllä oleva komento luo erillisen dump-tiedoston jokaiselle tietokannalle käyttämällä tietokannan nimeä tiedostonimellä.
Luo pakattu MySQL-tietokannan varmuuskopio
Jos tietokannan koko on erittäin suuri, on hyvä idea pakkaa tuotos. Voit tehdä tämän yksinkertaisesti liittämällä tulosteen
gzip
apuohjelmaan ja ohjaamalla sen tiedostoon alla olevan kuvan mukaisesti:
mysqldump database_name | gzip > database_name.sql.gz
Luo varmuuskopio aikaleiman avulla
mysqldump database_name > database_name-$(date +%Y%m%d).sql
Yllä oleva komento luo tiedoston, jonka muoto on
database_name-20180617.sql
MySQL-dumpin palauttaminen
Voit palauttaa MySQL-dumpin
mysql
työkalulla. Komennon yleinen syntaksi on seuraava:
mysqld database_name < file.sql
Useimmissa tapauksissa sinun on luotava tietokanta tuotavaksi. Jos tietokanta on jo olemassa, sinun on ensin poistettava se.
Seuraavassa esimerkissä ensimmäinen komento luo tietokannan nimeltä
database_name
ja sitten se tuo dump-
database_name.sql
siihen:
mysql -u root -p -e "create database database_name";
mysql -u root -p database_name < database_name.sql
Palauta yksi MySQL-tietokanta kokonaisesta MySQL-lähteestä
mysql --one-database database_name < all_databases.sql
Vie ja tuo MySQL-tietokanta yhdessä komennossa
Sen sijaan, että luisit dump-tiedoston yhdestä tietokannasta ja sitten tuotavat varmuuskopion toiseen MySQL-tietokantaan, voit käyttää seuraavaa yhden linjan:
mysqldump -u root -p database_name | mysql -h remote_host -u root -p remote_database_name
Yllä oleva komento siirtää lähdön mysql-asiakasohjelmaan etäkoneella ja tuo sen tietokantaan, jonka nimi on
remote_database_name
. Varmista ennen komennon suorittamista, että tietokanta on jo olemassa etäpalvelimella.
Automatisoi varmuuskopiot Cronilla
Tietokantojen varmuuskopiointiprosessin automatisointi on yhtä helppoa kuin cron-työn luominen, joka suorittaa mysqldump-komennon määritettyyn aikaan.
Asenna MySQL-tietokannan automatisoidut varmuuskopiot cronjob-sovelluksella seuraavien vaiheiden avulla:
-
Luo käyttäjän
.my.cnf
tiedosto nimeltä.my.cnf
:sudo nano ~/.my.cnf
Kopioi ja liitä seuraava teksti.my.cnf-tiedostoon.
user = dbuser password = dbpasswd
Älä unohda korvata
dbuser
jadbpasswd
tietokannan käyttäjällä ja käyttäjän salasanalla.Rajoita käyttöoikeustiedoston käyttöoikeuksia siten, että vain käyttäjällä on pääsy siihen:
chmod 600 ~/.my.cnf
Luo hakemisto varmuuskopioiden tallentamiseksi:
mkdir ~/db_backups
Avaa käyttäjän crontab-tiedosto:
crontab -e
Lisää seuraava cron-työ, joka luo varmuuskopion tietokannan nimestä
mydb
joka päivä kello 3.00:0 3 * * * /usr/bin/mysqldump -u dbuser mydb > /home/username/db_backups/mydb-$(date +%Y%m%d).sql
Älä unohda korvata
username
todellisella käyttäjänimellä.
Voit myös luoda uuden cronjob-poiston yli 30 päivää vanhoista varmuuskopioista:
find /path/to/backups -type f -name "*.sql" -mtime +30 -delete
Tietysti sinun täytyy säätää komento varmuuskopion sijainnin ja tiedostonimien mukaan. Lisätietoja löytää -komennosta on artikkelissa Kuinka löytää tiedostoja Linuxista komentorivin avulla.
johtopäätös
Tämä opetusohjelma kattaa vain perusteet, mutta sen pitäisi olla hyvä aloitus kaikille, jotka haluavat oppia luomaan ja palauttamaan MySQL-tietokannat komentoriviltä mysqldump-apuohjelman avulla.
Voit myös tarkistaa opetusohjelman siitä, kuinka MySQL-pääsalasana voidaan nollata, jos olet unohtanut sen.
mysql mariadb varmuuskopio mysqldumpKuinka varmuuskopioida ja palauttaa Firefox-profiilisi feben avulla
Opi varmuuskopioimaan ja palauttamaan Firefox-profiilisi FEBE: n avulla
Kuinka varmuuskopioida ja palauttaa Windows 7 -rekisteri (ja miksi sinun pitäisi)
Opi varmuuskopioimaan ja palauttamaan Windows 7 -rekisterit (ja miksi, joskus sinun pitäisi).
Kuinka varmuuskopioida / palauttaa Android-sovelluksia titaanivarmuuskopion avulla
Opi varmuuskopioimaan / palauttamaan Android-sovellukset Titanium-varmuuskopioinnin avulla.