Back-ups maken van MySQL-databases en deze herstellen (Windows-versie)
Werkomgeving
- Mijn SQL
-
- MySQL 8.0 Community-editie
- Ramen
-
- Vensters 11
Voorwaarden
- Mijn SQL
-
- MySQL 8.0
- Ramen
-
- Vensters 11
- Vensters 10
- Windows Server
-
- Windows Server 2022
- Windows Server 2019
- Windows Server 2016
- Windows Server 2012 R2
voorwaarde
- Er is een database voor MySQL geïnstalleerd.
- De database waarvan een back-up moet worden gemaakt, bestaat al.
- U hebt omgevingsvariabelen ingesteld zodat u mysql kunt uitvoeren vanaf de opdrachtprompt.
Wat zijn de soorten back-ups?
Hoewel MySQL hier niet in detail wordt besproken, heeft het de volgende soorten back-ups:
Back-upopdrachtenBack-upgegevenstypenOpmerkingen | ||
---|---|---|
mysqldump | Logische back-ups | Een eeuwenoude back-upmethode. De GUI maakt hier ook gebruik van |
mysqlpump | Logische back-ups | Verbeterde versie van mysqldump |
MySQL Shell Instance Dump Utility en Dump Loading Utility | Logische back-ups | De meest recente logische back-up op dit moment |
Percona XtraBackup | Fysieke back-ups | Ondersteuning van derden voor fysieke back-up |
KLOON PLUG-IN | Fysieke back-ups | MySQL officiële fysieke back-ups. U moet echter wel een plug-in toevoegen. |
Back-ups maken van databases met de GUI (MySQL Workbench)
Als u veilig in de GUI wilt werken zonder opdrachten te gebruiken, kunt u een back-up maken met MySQL Workbench. Het type back-up dat door 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 u een back-up wilt maken het tabblad Beheer in de navigator aan de linkerkant en selecteer vervolgens Gegevensexport.
Het scherm Gegevens exporteren wordt geopend. Het scherm is redelijk breed, dus vouw het venster uit tot je rechtsonder de knop "Start Export" ziet.
Selecteer eerst de databases waarvan u een back-up wilt maken. U kunt er ook meer dan één selecteren.
In "Te exporteren objecten" kunt u ervoor kiezen om ook een back-up te maken van procedures en triggers. Dit veld is optioneel.
In "Exportopties" kunt u de volgende twee opties selecteren.
Type | omschrijving |
---|---|
Exporteren naar projectmap dumpen | Uitvoer naar een opgegeven map als een tabel- of procedurebestand. |
Exporteren naar zelfstandig bestand | Sluit alles in één bestand in en voer het uit. |
Het maakt niet uit op welke manier je uitvoert. De bovenstaande selectie is eenvoudig te verwijderen als u alleen een specifieke tabel wilt herstellen. De onderstaande selectie wordt uitgevoerd naar één bestand, waardoor het gemakkelijker wordt om bestanden te verplaatsen en te beheren als een database-eenheid. In dit geval heb ik het volgende geselecteerd.
Klik na het instellen van de instellingen op de knop "Start Export" in de rechterbenedenhoek om de export te starten.
De export start en wordt voltooid.
Als u het als een enkel bestand uitvoert, ziet het er als volgt uit:
Als u naar een map exporteert, ziet het er als volgt uit:
Een database herstellen met de GUI (MySQL Workbench)
Open MySQL Workbench, selecteer een verbinding, selecteer het tabblad Beheer in de Navigator aan de linkerkant en selecteer Gegevens importeren/herstellen. Omdat er "Import/Restore" staat, kunt u een nieuwe database maken van het geëxporteerde bestand of de oorspronkelijke database overschrijven.
Vouw het venster uit totdat u de knop "Start Import" in de rechterbenedenhoek ziet.
Selecteer "Importopties" volgens het geëxporteerde bestandsformaat. Omdat ik deze keer als één bestand heb geëxporteerd, heb ik hieronder "Importeren uit zelfstandig bestand" geselecteerd en het geëxporteerde bestand opgegeven.
Selecteer het schema (database) waarnaar u wilt herstellen. U kunt een bestaande database herstellen of deze herstellen als een nieuwe database via de knop "Nieuw" aan de rechterkant.
Nadat u de specificaties hebt opgegeven, klikt u rechtsonder op de knop "Import starten" om het herstel te starten.
Zodra het herstel is voltooid, moet u ervoor zorgen dat uw gegevens terug zijn.
Maak een account aan voor databaseback-up op commando
Er is geen probleem als u een enkele opdracht uitvoert en er een back-up van maakt, maar als u de opdracht bijvoorbeeld van tevoren als 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 back-ups.
Sommige machtigingen die nodig zijn voor back-ups kunnen toenemen of afnemen, afhankelijk van de vereiste informatie.
- GEBEURTENIS
- TAFELS VERGRENDELEN
- SELECTEREN
- TOON WEERGAVE
Als je het met een commando maakt, ziet het er als volgt uit. Gebruik het opdrachtregelprogramma MySQL.
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 de back-upbestemming
De machtigingen van de map waarin het back-upbestand is opgeslagen, moeten op dezelfde manier worden ingesteld als de machtigingen voor het uitvoeren van de opdracht. Als u de opdracht uitvoert met beheerdersrechten, 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 back-ups per opdracht, maar deze keer zullen we een back-up maken met "mysqldump", die al heel lang wordt gebruikt en stabiel is.
Klik met de rechtermuisknop op het menu Start om Terminal (opdrachtprompt) te starten. Merk op dat het niet "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
Als u dezelfde tekencode opgeeft als bij het maken van een back-up in de GUI, is deze hetzelfde als bij het maken van een back-up in de GUI. Op deze manier kun je het ook importeren in de GUI.- Gebruik geen spatie tussen het wachtwoordveld en
-p
het wachtwoord.- Als u ook tabelruimte-informatie wilt uitvoeren,
--no-tablespaces
verwijdert u . In dat geval moeten de machtigingen van de actieve gebruiker .PROCESS
Er wordt een back-upbestand gemaakt op de opgegeven locatie.
Een database herstellen met het commando (mysqldump)
De bestanden waarvan een back-up wordt gemaakt door mysqldump hebben een indeling die in SQL kan worden uitgevoerd, dus u hoeft alleen maar de doel-SQL uit te voeren. Ik denk dat de meeste herstelbewerkingen handmatig worden gedaan, dus er is geen probleem als je het als root-account uitvoert.
Als u het wilt uitvoeren vanuit een opdracht, voert u het uit op de opdrachtprompt in plaats van PowerShell. Dit komt omdat het symbool niet kan worden gebruikt in <
PowerShell.
Voer de volgende opdracht uit:
mysql -u root -p<root のパスワード> <データベース名> < <バックアップした SQL のファイルパス>
voorbeeld
mysql -u root -ppassword test_database < C:\Temporary\Backup.sql
Geautomatiseerde databaseback-ups
Voor Windows is het gebruikelijk om de Taakplanner te gebruiken. Maak eerst een batchbestand aan. Maak een vleermuisbestand, voer de inhoud in zoals deze is geback-upt door de opdracht en sla het op. Tekencodering wordt opgeslagen met Shift-JIS. De locatie en bestandsnaam van het batchbestand zijn willekeurig.
Registreer u bij Taakplanner. Klik met de rechtermuisknop op het menu Start en selecteer Computerbeheer.
Selecteer in het menu aan de linkerkant Computerbeheer > Systeemwerkset > Taakplanner > Taakplannerbibliotheek. Selecteer "Taak aanmaken..." in het menu aan de rechterkant.
Configureer het tabblad Algemeen. "Naam" verschijnt in de lijst met taken, dus voer een naam in die gemakkelijk te begrijpen is. Vink in de beveiligingsopties "Uitvoeren ongeacht of de gebruiker is aangemeld of niet" aan.
Op het tabblad "Trigger" kunt u instellen wanneer u de back-up wilt uitvoeren. Stel deze instelling in op basis van uw bewerking.
Stel op het tabblad "Bewerking" in om het batchbestand dat u zojuist hebt gemaakt te starten.
Nadat u ze allemaal hebt ingesteld, bevestigt u met de OK-knop.
Voer uw wachtwoord in om u te registreren om onder het opgegeven account te werken.
Controleer daarna of de back-up op het opgegeven tijdstip wordt uitgevoerd.