MySQL-tietokantojen varmuuskopiointi ja palauttaminen (Windows-versio)

Sivu päivitetty :
Sivun luontipäivämäärä :

Toimintaympäristö

MySQL
  • MySQL 8.0 -yhteisön versio
Windows
  • Windows 11

Edellytykset

MySQL
  • MySQL 8.0
Windows
  • Windows 11
  • Windows 10
Windows Server
  • Windows Server 2022
  • Windows Server 2019
  • Windows Server 2016
  • Windows Server 2012 R2

edellytys

  • MySQL-tietokanta on asennettu.
  • Varmuuskopioitava tietokanta on jo olemassa.
  • Olet asettanut ympäristömuuttujat siten, että voit suorittaa mysql: n komentokehotteesta.

Mitkä ovat varmuuskopioiden tyypit?

Vaikka MySQL: ää ei käsitellä yksityiskohtaisesti täällä, sillä on seuraavan tyyppiset varmuuskopiot:

VarmuuskopiointikomennotVarmuuskopiotietotyypitHuomautuksia
mysqldump Loogiset varmuuskopiot Ikivanha varmuuskopiointimenetelmä. Graafinen käyttöliittymä käyttää myös tätä
mysqlpump Loogiset varmuuskopiot Mysqldumpin parannettu versio
MySQL Shell -instanssin vedosapuohjelma ja dumpin latausapuohjelma Loogiset varmuuskopiot Viimeisin looginen varmuuskopio tällä hetkellä
Percona XtraBackup Fyysiset varmuuskopiot Kolmannen osapuolen tuki fyysiselle varmuuskopioinnille
KLOONI-LAAJENNUS Fyysiset varmuuskopiot MySQL: n viralliset fyysiset varmuuskopiot. Sinun on kuitenkin lisättävä laajennus.

Tietokantojen varmuuskopiointi graafisella käyttöliittymällä (MySQL Workbench)

Jos haluat toimia turvallisesti graafisessa käyttöliittymässä ilman komentoja, voit varmuuskopioida MySQL Workbenchillä. MySQL Workbenchin suorittaman varmuuskopioinnin tyyppi on "mysqldump".

Käynnistä MySQL Workbench.

Valitse yhteys, joka sisältää varmuuskopioitavan tietokannan.

Kun tietokanta on varmuuskopioitava, valitse vasemmalla olevasta siirtymistoiminnosta Hallinta-välilehti ja valitse sitten Tietojen vienti.

Tietojen vienti -näyttö avautuu. Näyttö on kohtuullisen leveä, joten laajenna ikkunaa, kunnes näet "Aloita vienti" -painikkeen oikeassa alakulmassa.

Valitse ensin tietokannat, jotka haluat varmuuskopioida. Voit myös valita useamman kuin yhden.

"Vietävät objektit" -kohdassa voit varmuuskopioida myös menettelyt ja laukaisut. Tämä kenttä on valinnainen.

"Vientiasetukset" -kohdassa voit valita seuraavat kaksi vaihtoehtoa.

Tyypin kuvaus
Vie vedosprojektikansioon Tulostetaan määritettyyn kansioon taulukko- tai toimintosarjatiedostona.
Vienti itsenäiseen tiedostoon Upota kaikki yhteen tiedostoon ja tulosteeseen.

Ei ole väliä millä tavalla tulostat. Yllä oleva valinta on helppo poistaa, jos haluat palauttaa vain tietyn taulukon. Alla oleva valinta tulostaa yhteen tiedostoon, mikä helpottaa tiedostojen siirtämistä ja hallintaa tietokantayksikkönä. Tässä tapauksessa olen valinnut seuraavan.

Kun olet määrittänyt asetukset, napsauta "Aloita vienti" -painiketta oikeassa alakulmassa aloittaaksesi viennin.

Vienti alkaa ja päättyy.

Jos tulostat sen yhtenä tiedostona, se näyttää tältä:

Jos viet kansioon, se näyttää tältä:

Tietokannan palauttaminen graafisella käyttöliittymällä (MySQL Workbench)

Avaa MySQL Workbench, valitse yhteys, valitse vasemmalla olevasta navigaattorista Hallinta-välilehti ja valitse Tietojen tuonti/palautus. Kuten sanotaan "Tuo / palauta", voit luoda uuden tietokannan viedystä tiedostosta tai korvata alkuperäisen tietokannan.

Laajenna ikkunaa, kunnes näet "Aloita tuonti" -painikkeen oikeassa alakulmassa.

Valitse "Tuontiasetukset" viedyn tiedostomuodon mukaan. Koska vein tällä kertaa yhtenä tiedostona, valitsin alla olevan "Tuo itsenäisestä tiedostosta" ja määritin viedyn tiedoston.

Valitse rakenne (tietokanta), johon haluat palauttaa. Voit palauttaa olemassa olevaan tietokantaan tai palauttaa sen uutena tietokantana oikealla olevasta "Uusi" -painikkeesta.

Kun olet määrittänyt tekniset tiedot, napsauta oikeassa alakulmassa olevaa "Aloita tuonti" -painiketta aloittaaksesi palautuksen.

Kun palautus on valmis, varmista, että tiedot ovat palanneet.

Luo tili tietokannan varmuuskopiointia varten komennolla

Ei ole mitään ongelmaa, jos suoritat yhden komennon ja varmuuskopioit sen, mutta jos esimerkiksi valmistelet komennon tiedostona etukäteen ja suoritat sen, sinun on kirjoitettava salasana pelkkänä tekstinä, joten on turvallisempaa luoda erillinen tili varmuuskopiointia varten.

Jotkin varmuuskopiointiin tarvittavat käyttöoikeudet voivat kasvaa tai vähentyä tarvittavien tietojen mukaan.

  • TAPAHTUMA
  • LUKITSE PÖYDÄT
  • VALIKOIDA
  • NÄYTÄ NÄKYMÄ

Jos luot sen komennolla, se näyttää tältä. Käytä MySQL-komentorivityökalua.

create user '<ユーザー名>'@'<ホスト名>' identified by '<パスワード>';
GRANT EVENT, LOCK TABLES, SELECT, SHOW VIEW ON <データベース名>.* TO '<ユーザー名>'@'<ホスト名>';
flush privileges;

esimerkki

create user 'backup_user'@'localhost' identified by 'password';
GRANT EVENT, LOCK TABLES, SELECT, SHOW VIEW ON test_database.* TO 'backup_user'@'localhost';
flush privileges;

Varmuuskopioinnin kohteen kansion käyttöoikeudet

Sen kansion käyttöoikeudet, johon varmuuskopiotiedosto tallennetaan, on asetettava samalla tavalla kuin komennon suorittamisen käyttöoikeudet. Jos suoritat komennon järjestelmänvalvojien oikeuksilla, sinun ei tarvitse määrittää kansiolle muita käyttöoikeuksia.

Tietokannan varmuuskopiointi komennolla (mysqldump)

Komennolla on useita varmuuskopioita, mutta tällä kertaa varmuuskopioimme "mysqldump", jota on käytetty pitkään ja joka on vakaa.

Napsauta hiiren kakkospainikkeella Käynnistä-valikkoa käynnistääksesi terminaalin (komentokehote). Huomaa, että se ei ole "MySQL 8.0 Command Line Client".

Voit varmuuskopioida sen seuraavalla komennolla:

mysqldump -u <ユーザー名> -p<パスワード> --no-tablespaces --single-transaction --triggers --routines --events --default-character-set=utf8 <データベース名> > "<バックアップファイルパス>"

esimerkki

mysqldump -u backup_user -ppassword --no-tablespaces --single-transaction --triggers --routines --events --default-character-set=utf8 test_database > "C:\Temporary\Backup.sql"

  • --default-character-set=utf8 Jos määrität saman merkkikoodin kuin graafisessa käyttöliittymässä varmuuskopioitaessa, se on sama kuin graafiseen käyttöliittymään varmuuskopioitaessa. Tällä tavalla voit myös tuoda sen graafiseen käyttöliittymään.
  • Älä jätä välilyöntiä salasanakentän ja -p salasanan väliin.
  • Jos haluat tulostaa myös taulukkotilan tiedot, --no-tablespaces poista . Tässä tapauksessa käynnissä olevan käyttäjän käyttöoikeuksien on oltava . PROCESS

Varmuuskopiotiedosto luodaan määritettyyn sijaintiin.

Tietokannan palauttaminen komennolla (mysqldump)

Mysqldumpin varmuuskopioimat tiedostot ovat muodossa, joka voidaan suorittaa SQL: ssä, joten sinun tarvitsee vain suorittaa kohde-SQL. Mielestäni useimmat palautukset tehdään manuaalisesti, joten ei ole mitään ongelmaa, jos suoritat sen root-tilinä.

Jos haluat suorittaa sen komennosta, suorita se komentokehotteessa PowerShellin sijaan. Tämä johtuu siitä, että symbolia ei voi käyttää PowerShellissä < .

Suorita seuraava komento:

mysql -u root -p<root のパスワード> <データベース名> < <バックアップした SQL のファイルパス>

esimerkki

mysql -u root -ppassword test_database < C:\Temporary\Backup.sql

Automaattiset tietokannan varmuuskopiot

Windowsissa on tavallista käyttää Task Scheduleria. Luo ensin erätiedosto. Luo bat-tiedosto, kirjoita sisältö sellaisena kuin komento varmuuskopioi sen ja tallenna se. Merkkikoodaus tallennetaan Shift-JIS-toiminnolla. Erätiedoston sijainti ja tiedostonimi ovat mielivaltaisia.

Rekisteröidy Tehtävien ajoitukseen. Napsauta hiiren kakkospainikkeella Käynnistä-valikkoa ja valitse Tietokoneen hallinta.

Valitse vasemmalla olevasta valikosta Tietokoneen hallinta > järjestelmätyökalut > Tehtävien ajoitus > Tehtävien ajoituskirjasto. Valitse oikealla olevasta valikosta "Luo tehtävä...".

Määritä Yleiset-välilehti. "Nimi" näkyy tehtäväluettelossa, joten kirjoita nimi, joka on helppo ymmärtää. Valitse suojausvaihtoehdoista "Suorita riippumatta siitä, onko käyttäjä kirjautunut sisään vai ei".

"Trigger" -välilehdessä voit määrittää, milloin varmuuskopiointi suoritetaan. Aseta tämä asetus toimintasi mukaan.

Aseta "Toiminta" -välilehdessä se käynnistämään juuri luomasi erätiedosto.

Kun olet asettanut jokaisen, vahvista OK-painikkeella.

Anna salasanasi rekisteröityäksesi suoritettavaksi määritetyllä tilillä.

Tarkista sen jälkeen, suoritetaanko varmuuskopiointi määritettyyn aikaan.