MySQL-tietokantojen varmuuskopiointi ja palauttaminen (Windows-versio)
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.