Back-up en herstel MySQL-databases voor Windows

Aanmaakdatum van pagina :

Omgeving voor bevestiging van de bewerking

MySQL
  • MySQL 8.0 Community-editie
Ramen
  • Windows 11

Vereiste omgeving

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

voorwaarde

  • MySQL-database moet zijn geïnstalleerd
  • De database waarvan een back-up moet worden gemaakt, bestaat al
  • Configureer omgevingsvariabelen en laat u MySQL uitvoeren vanaf de opdrachtprompt

Informatie over typen back-ups

Ik zal hier niet in detail treden, maar MySQL heeft de volgende soorten back-ups:

Back-upopdracht Back-up Gegevenstype Opmerkingen
mysqldump Logische back-up Een oude back-upmethode. De GUI maakt hier ook gebruik van
mysqlpomp Logische back-up Verbeterde versie van mysqldump
MySQL Shell Instance Dump Utility en Dump Loading Utility Logische back-up Als logische back-up is het de nieuwste op dit moment
Percona XtraBackup Fysieke back-up Producten van derden die fysieke back-up mogelijk maken
KLONEN PLUGIN Fysieke back-up MySQL officiële fysieke back-up. Er zijn echter extra plug-ins nodig

Een back-up maken van een database met een GUI (MySQL Workbench)

Als u veilig wilt werken in de GUI zonder commando's te gebruiken, kunt u een back-up uitvoeren in MySQL Workbench. Het back-uptype dat in MySQL Workbench wordt uitgevoerd, is "mysqldump".

Start MySQL Workbench.

Selecteer de verbinding met de database waarvan u een back-up wilt maken.

Selecteer met de database waarvan een back-up moet worden gemaakt het tabblad Beheer in Navigator aan de linkerkant en selecteer Gegevensexport.

Het scherm Gegevensexport wordt geopend. Het scherm is vrij groot, dus vouw het venster uit totdat je de knop "Start Export" in de rechterbenedenhoek ziet.

Selecteer eerst de database waarvan u een back-up wilt maken. U kunt er ook meer dan één selecteren.

In "Objecten om te exporteren" kunt u kiezen of u ook een back-up wilt maken van procedures, triggers, enz. Dit item is optioneel.

In "Exportopties" kun je kiezen uit de volgende twee opties:

Beschrijving van typen
Exporteren naar projectmap dumpen Uitvoer als een tabel of een procedure-voor-procedure-bestand in een bepaalde map.
Exporteren naar zelfstandig bestand Sluit alles in één bestand in en voer het uit.

Het maakt niet uit welke je uitvoert. Als u hierboven kiest, is het gemakkelijk omdat u het gemakkelijk kunt verwijderen als u alleen een specifieke tabel wilt herstellen. De volgende selecties worden uitgevoerd naar één bestand, waardoor het eenvoudiger wordt om bestanden te verplaatsen en te beheren als een database-eenheid. Deze keer heb ik het volgende geselecteerd.

Eenmaal geconfigureerd, klikt u op de knop Start export rechtsonder om te beginnen met exporteren.

De export start en wordt voltooid.

Als u in één bestand uitvoert, ziet het er als volgt uit:

Als u naar een map exporteert, ziet deze er als volgt uit:

Een database herstellen met een GUI (MySQL Workbench)

Open MySQL Workbench, selecteer uw verbindingen, selecteer het tabblad Beheer in Navigator aan de linkerkant en selecteer Gegevensimport/-herstel. Zoals er staat "Importeren/Herstellen", kunt u een nieuwe database maken van het geëxporteerde bestand of de originele database overschrijven.

Vouw het venster uit totdat u de knop "Start Import" in de rechterbenedenhoek ziet.

Selecteer "Importopties" op basis van het geëxporteerde bestandsformaat. Omdat ik het deze keer als een enkel bestand heb geëxporteerd, heb ik hieronder "Importeren uit op zichzelf staand bestand" geselecteerd en het geëxporteerde bestand gespecificeerd.

Selecteer het schema (database) dat u wilt herstellen. U kunt herstellen naar een bestaande database, of u kunt deze herstellen als een nieuwe database via de knop "nieuw" aan de rechterkant.

Klik na het opgeven op de knop "Start Import" in de rechterbenedenhoek om het herstel te starten.

Zorg ervoor dat uw gegevens terug zijn wanneer het herstel is voltooid.

Maak een account aan voor databaseback-up via een opdracht

Er is geen probleem als u een opdracht wilt uitvoeren om een enkele keer een back-up te maken, maar als u bijvoorbeeld een opdracht van tevoren als een bestand voorbereidt en uitvoert, moet u het wachtwoord in platte tekst schrijven, dus het is veiliger om een apart account aan te maken voor het uitvoeren van de back-up.

De machtigingen die nodig zijn voor back-ups zijn als volgt, maar kunnen toenemen of afnemen, afhankelijk van de vereiste informatie.

  • GEBEURTENIS
  • TAFELS VERGRENDELEN
  • SELECTEREN
  • TOON WEERGAVE

Als u het met een opdracht maakt, ziet het er als volgt uit: Voer het uit met de MySQL-opdrachtregeltool.

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

voorbeeld

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

Mapmachtigingen voor back-upbestemming

De machtigingen voor de map waarin het back-upbestand is opgeslagen, moeten worden ingesteld op dezelfde machtiging als de machtiging om de opdracht uit te voeren. Als u opdrachten wilt uitvoeren met de machtiging Administrators, hoeft u geen extra machtigingen voor de map in te stellen.

Een back-up maken van een database met de opdracht (mysqldump)

Er zijn verschillende commando back-ups, maar deze keer zal ik een back-up maken met de oude en stabiele "mysqldump".

Klik met de rechtermuisknop op het menu Start en start Terminal (opdrachtprompt). Houd er rekening mee dat het geen "MySQL 8.0 Command Line Client" is.

U kunt er een back-up van maken met de volgende opdracht:

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

voorbeeld

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 zal dezelfde tekencode hebben als wanneer er een back-up van wordt gemaakt in de GUI. Hierdoor kun je ze ook in de GUI importeren.
  • Plaats geen spatie tussen het wachtwoordveld -p en het wachtwoord.
  • Als u ook informatie over de tabelruimte wilt uitvoeren, --no-tablespaces schakelt u het vinkje uit. In dat geval zijn de rechten van PROCESS de uitvoerende gebruiker vereist.

Er wordt een back-upbestand gemaakt op de opgegeven locatie.

Een database herstellen met de opdracht (mysqldump)

De bestanden waarvan een back-up is gemaakt met mysqldump hebben een indeling die in SQL kan worden uitgevoerd, dus u hoeft alleen de doel-SQL uit te voeren. Ik denk dat het herstel vaak handmatig wordt gedaan, dus het is prima om het op het root-account uit te voeren.

Als u het wilt uitvoeren vanuit een opdracht, voert u het uit op de opdrachtprompt in plaats van op PowerShell. Dit komt < omdat PowerShell geen symbolen toestaat.

Voer de volgende opdracht uit:

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

voorbeeld

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

Automatische back-up van de database

Voor Windows is het gebruikelijk om een taakplanner te gebruiken. Begin met het maken van een batchbestand. Maak een vleermuisbestand, voer de inhoud in zoals er een back-up van is gemaakt met opdrachten en sla ze op. Sla tekencodes op met Shift-JIS. De locatie en bestandsnaam van het batchbestand kunnen willekeurig zijn.

Registreer je bij de taakplanner. Klik met de rechtermuisknop op het menu Start en selecteer "Computer beheren".

Selecteer in het linkermenu Computerbeheer > Systeemwerkset > Taakplanner > Taakplannerbibliotheek. Selecteer Taak maken in het menu aan de rechterkant.

Stel het tabblad Algemeen in. De "naam" wordt weergegeven in de takenlijst, dus voer een naam in die gemakkelijk te begrijpen is. Vink in de beveiligingsopties "Uitvoeren of de gebruiker is ingelogd of niet" aan.

Op het tabblad Triggers wordt ingesteld wanneer de back-up moet worden uitgevoerd. Deze instelling moet worden ingesteld op basis van uw bewerking.

Stel op het tabblad Bewerkingen in dat het batchbestand dat u zojuist hebt gemaakt, wordt gestart.

Nadat u ze allemaal hebt ingesteld, bevestigt u ze met de knop OK.

Voer uw wachtwoord in om u te registreren om op het opgegeven account te draaien.

Controleer nu of de back-up op het opgegeven tijdstip wordt uitgevoerd.