Inleiding tot Azure Database for MySQL

Voltooid

Azure Database for MySQL kan worden geïmplementeerd als een flexibele server (preview) voor het hosten van uw MySQL-database in Azure. Het is een volledig beheerde database als een service die bedrijfskritieke workloads kan verwerken met voorspelbare prestaties en dynamische schaalbaarheid.

Als databaseontwikkelaar met vele jaren ervaring met het uitvoeren en beheren van on-premises MySQL-installaties, wilt u verkennen hoe Azure Database for MySQL de functies ondersteunt en schaalt.

In deze les verkent u de prijs-, versieondersteuning, replicatie- en schaalopties van Azure Database for PostgreSQL.

Inzicht in de voordelen van Azure Database for MySQL

Azure Database for MySQL is ingericht als een Azure Database for MySQL-server. De Azure Database for MySQL-server is gelijk aan een on-premises MySQL-server en biedt een centraal punt voor het beheren van meerdere MySQL-databases.

Als u een Azure Database for MySQL-database wilt maken, moet u eerst een Azure Database for MySQL-server inrichten. Een Azure Database for MySQL-server is het bovenliggende element van een of meer databases en biedt de naamruimte voor de databases. Als u de server verwijdert, verwijdert u alle databases die deze bevat.

Wat biedt Azure Database for MySQL-server?

De Azure Database for MySQL-service biedt hoge beschikbaarheid zonder aanvullende kosten en schaalbaarheid indien vereist. U betaalt alleen voor wat u gebruikt. Er worden automatische back-ups gemaakt met herstel naar een bepaald tijdstip.

De server biedt beveiligde verbindingen om firewallregels af te dwingen en, indien gewenst, SSL-verbindingen te vereisen. Met talloze serverparameters kunt u serverinstellingen configureren, zoals vergrendelingsmodi, maximum aantal verbindingen en time-outs. Wijzigingen in parameters die zijn gemarkeerd als Dynamisch worden onmiddellijk van kracht. Voor statische parameters moet de server opnieuw worden opgestart. U start de server opnieuw op met behulp van de knop Opnieuw opstarten op de pagina Overzicht in de portal.

Azure Database for MySQL-servers omvatten bewakingsfunctionaliteit om waarschuwingen toe te voegen en metrische gegevens en logboeken weer te geven.

Prijscategorieën

Prijscategorieën bieden een breed scala aan prestaties en capaciteit van één tot 64 vCores en van 5 GB tot 4 TB opslagruimte. De prijscategorie Basic is ontworpen voor lichte rekenworkloads en ondersteunt maximaal twee vCores met 2 GB geheugen per kern. De prijscategorie algemeen gebruik is geschikt voor de meeste zakelijke workloads en ondersteunt van twee tot 64 vCores met 5 GB geheugen per kern. De prijscategorie geoptimaliseerd voor geheugen ondersteunt twee tot 32 vCores, heeft 10 GB geheugen per vCore en is bedoeld voor workloads met hoge prestaties, waaronder realtime gegevensanalyse. Hoewel u binnen enkele seconden kunt schakelen tussen prijscategorieën voor algemeen gebruik en geoptimaliseerd voor geheugen en het aantal vCores of opslag kunt wijzigen, kunt u niet overstappen naar of van de basisprijscategorie.

Image showing the pricing tiers in the Azure portal

Er zijn verbindingslimieten op basis van prijscategorieën en het aantal vCores. Zie Beperkingen in Azure Database for MySQL voor meer informatie.

Versiebeheer en upgrades

Azure Database for MySQL ondersteunt versie 5.6 (met bugfix release 5.6.42), 5.7 (met bugfix release 5.7.24) en 8.0 (met bugfix release 8.0.15).

Notitie

Een gateway leidt verbindingen om naar serverexemplaren. MySQL-clients geven de versie van de gateway weer in plaats van de versie van het serverexemplaren. Gebruik de SELECT VERSION() om de versie van het serverexemplaren weer te geven; Opdracht.

Foutoplossingsversies worden automatisch toegepast, maar versie-upgrades worden niet ondersteund. Als u een upgrade wilt uitvoeren van de ene versie naar de andere, moet u een dump en herstel uitvoeren.

Schaalbaarheid

Zoals vermeld, kunt u niet overschakelen naar of van de basisprijscategorie. U kunt echter het aantal vCores, de hardwaregeneratie, het opslagvolume en de bewaarperiode voor back-ups wijzigen. U kunt ook schakelen tussen de prijscategorieën voor algemeen gebruik en geoptimaliseerd voor geheugen.

Houd er rekening mee dat de opslag alleen wordt verhoogd, niet afneemt en kan worden ingesteld op automatisch vergroten. Als automatisch vergroten is ingeschakeld, neemt de opslag met 5 GB toe wanneer de beschikbare opslag kleiner is dan 1 GB of 10% van het opslagvolume (afhankelijk van wat groter is) voor servers met minder dan 100 GB opslagruimte. Voor servers met meer dan 100 GB neemt de opslag met 5% toe wanneer de beschikbare opslag kleiner is dan 5%.

Hoge beschikbaarheid

Azure Database for MySQL bevat een SLA (Service Level Agreement) met financiële ondersteuning voor beschikbaarheid van 99,99%. Als er een hardwarestoring of service-implementatie is, wordt er automatisch een nieuw knooppunt gemaakt en wordt opslag aan dit knooppunt gekoppeld. Failover wordt binnen tientallen seconden voltooid.

Als een Azure Database for MySQL-serverexemplaren omhoog of omlaag worden geschaald, treedt er een vergelijkbaar proces op met de gegevensopslag die aan het nieuwe exemplaar wordt gekoppeld. Als er een failover plaatsvindt, treedt een omhoog of omlaag schalen op of is er sprake van onderbreking van internetverkeer tussen de client en Azure, kan er een tijdelijke verbindingsfout optreden bij de client. Het is belangrijk om logica voor opnieuw proberen te hebben in toepassingen. In het geval van een failover leidt een gateway verkeer naar het nieuwe knooppunt zonder configuratie vereist op de client.

Zie Afhandeling van tijdelijke verbindingsfouten voor Azure Database for MySQL voor informatie over het afhandelen van tijdelijke fouten.

Gegevens repliceren in Azure Database for MySQL

Replicatie van inkomende gegevens

Data-in Replication maakt gebruik van de systeemeigen replicatiefunctionaliteit van MySQL om gegevens van een externe MySQL-server te repliceren naar Azure Database for MySQL. Dit is handig als u een hybride omgeving wilt inrichten met een bestaand on-premises MySQL-exemplaar en een op Azure gebaseerde replica. Dit scenario biedt lokale gegevens aan gebruikers in een wereldwijd gedistribueerd systeem. U kunt ook Data-in Replication gebruiken om gegevens te repliceren van een virtuele machine of MySQL-databaseservice die wordt gehost door een andere cloudprovider.

Overwegingen voor replicatie van inkomende gegevens

Hier volgen enkele factoren die u moet overwegen voor replicatie van gegevens:

  • De hoofd- en replicaservers moeten dezelfde versie hebben en ten minste versie 5.6.
  • De master en replica moeten de InnoDB-engine gebruiken.
  • Elke tabel moet een primaire sleutel hebben.
  • De Azure Database for MySQL-server moet een prijscategorie Algemeen gebruik of Geoptimaliseerd voor geheugen hebben.
  • U moet over de rechten beschikken om gebruikers te maken en binaire logboekregistratie op de hoofdserver te configureren.
  • De mysql-systeemdatabase wordt niet gerepliceerd. Accounts en machtigingen worden niet gerepliceerd van de hoofdserver naar de replica en moeten handmatig worden gemaakt.

Stappen voor het configureren van replicatie van inkomende gegevens

Er zijn een aantal stappen voor het configureren van inkomende replicatie:

  • Maak een Azure Database for MySQL-server die moet worden gebruikt als host voor de replica en maak eventuele benodigde gebruikersaccounts en bevoegdheden.
  • Configureer replicatie op de hoofdserver.
  • Dump en herstel de hoofdserver.
  • Gebruik opgeslagen procedures voor inkomende replicatie om de doelserver te configureren.

Zie Azure Database for MySQL Data-in Replication configureren voor meer informatie.

Leesreplica's

Leesreplica's maken gebruik van systeemeigen MySQL-replicatietechnologie om asynchrone replica-exemplaren van Azure Database for MySQL-servers te maken. De replicaservers hebben het kenmerk Alleen-lezen en er kunnen maximaal vijf replica's voor elke master zijn. Voor elke leesreplica worden de maandelijkse kosten gefactureerd op basis van de vCores en opslag die wordt gebruikt.

Wordt gebruikt voor leesreplica's

Rapportageservers

Door een alleen-lezen replica van de hoofdserver te maken, stuurt u alle rapportage-, BI- en analytische workloads naar de replica. Hiermee verwijdert u de werkbelasting van de hoofdserver en vermindert u conflicten terwijl de hoofdserver de schrijfintensieve werkbelastingen uitvoert.

Gegevens dicht bij gebruikers brengen

U maakt replica's in meerdere regio's om gegevens dicht bij gebruikers te plaatsen en hun leessnelheden te verbeteren. Replica's tussen regio's kunnen zich in een universele replicaregio of in de gekoppelde regio van de hoofdserver bevinden. De beschikbare regio's worden weergegeven wanneer u een replicaserver maakt.

Image showing replica regions

Leesreplica's configureren

U configureert een leesreplica in Azure Portal:

Image showing replication setting in the Azure portal

Vervolgens geeft u de naam en regio van de replica op:

Image showing replication in the Azure portal

Notitie

Leesreplica's zijn niet beschikbaar in de prijscategorie Basic.

Zie Leesreplica's in Azure Database for MySQL voor meer informatie over leesreplica's.

Beheer en controle

Azure Database for MySQL heeft een breed scala aan bewakingshulpprogramma's waarmee u uw server kunt optimaliseren, op de hoogte kunt worden gesteld van gebeurtenissen en proactief kunt reageren op metrische gegevens. U kunt ook vertrouwde MySQL-beheerhulpprogramma's gebruiken, zoals recente versies van MySQL Workbench, PHPMy Beheer en Navicat, voor het beheren en bewaken van Azure Database for MySQL-servers:

Image showing the MySQL Workbench tool connected to Azure Database for MySQL

Azure-hulpprogramma's voor het bewaken van Azure Database for MySQL

De hulpprogramma's die beschikbaar zijn in Azure Portal voor het beheren en bewaken van Azure Database for MySQL zijn onder andere:

  • Metrische gegevens van Azure. Metrische gegevens bieden elke minuut numerieke gegevens en worden gedurende 30 dagen opgeslagen. Er is een breed scala aan metrische gegevens die u gebruikt om uw server te bewaken. U kunt ook waarschuwingen configureren om te reageren op metrische gegevens.

    Image showing Azure metrics

    Zie het Azure Monitor-gegevensplatform voor meer informatie.

  • Server- en auditlogboeken. U schakelt serverlogboeken in om trage query's te bewaken en auditlogboeken voor uw server te bieden. Serverlogboeken zijn beschikbaar buiten SQL Database for MySQL via diagnostische logboeken van Azure.

    Image showing Azure server logs

    Zie Logboeken voor langzame query's in Azure Database for MySQL voor meer informatie. Auditlogboeken zijn een preview-functie om auditlogboeken te bieden voor het bijhouden van databaseactiviteit. Als u auditlogboekregistratie wilt inschakelen, stelt u de parameter audit_log_enabled in op AAN. Zie Auditlogboeken in Azure Database for MySQL voor meer informatie over auditlogboeken.

  • Query Store. Dit wordt gebruikt om de prestaties van uw server in de loop van de tijd bij te houden en informatie over probleemoplossing te geven. Query Store bewaart querygeschiedenis en runtimestatistieken, zodat u resource-intensieve of langdurige query's kunt identificeren. Als u Query Store wilt inschakelen, stelt u de query_store_capture_mode-serverparameter in op ALL: Image showing Query Store capture mode

    Als u queryopslaggegevens over query's wilt weergeven, voert u de volgende query uit:

    SELECT * FROM mysql.query_store;
    

    Voer de volgende query uit om gegevens over wachtstatistieken weer te geven:

    SELECT * FROM mysql.query_store_wait_stats;
    

    Notitie

    Query Store is een preview-functie en is niet beschikbaar in de prijscategorie Basic.

    Zie De prestaties van Azure Database for MySQL bewaken met Query Store voor meer informatie over Query Store.

  • Query Performance Insight. Query Performance Insight geeft gegevens uit Query Store weer als visualisaties, zodat u query's kunt identificeren die van invloed zijn op de prestaties. Query Performance Insight bevindt zich in de sectie Intelligente prestaties van uw Azure Database for MySQL in Azure Portal.

    Notitie

    Query Performance Insight is een preview-functie en is niet beschikbaar in de prijscategorie Basic.

    Zie Query Performance Insight in Azure Database for MySQL voor meer informatie over Query Performance Insight.

  • Aanbevelingen voor prestaties. Prestaties Aanbevelingen gegevens uit de Query Store gebruikt om workloads te analyseren en combineert dit met databasekenmerken om nieuwe indexen voor te stellen om de prestaties te verbeteren. Prestaties Aanbevelingen bevindt zich in de sectie Intelligente prestaties van uw Azure Database for MySQL in Azure Portal.

    Notitie

    Prestaties Aanbevelingen is een preview-functie en is niet beschikbaar in de prijscategorie Basic.

    Zie Performance Aanbevelingen in Azure Database for MySQL voor meer informatie over prestaties Aanbevelingen.

Clientconnectiviteit

MySQL-stuurprogramma's

Azure Database for MySQL maakt gebruik van de MySQL-communityversie en is compatibel met een breed scala aan stuurprogramma's. Het ondersteunt diverse programmeertalen. Verbinding maken iontekenreeksen worden geleverd in Azure Portal:

Image showing connection strings

Zie MySQL-stuurprogramma's en beheerhulpprogramma's die compatibel zijn met Azure Database for MySQL voor meer informatie over MySQL-stuurprogramma's

De firewall configureren

De eenvoudigste manier om de firewall te configureren, is het gebruik van de Verbinding maken ion-beveiligingsinstellingen voor uw service in Azure Portal. Voeg een regel toe voor elk IP-adresbereik van de client. U kunt deze pagina ook gebruiken om SSL-verbindingen met uw service af te dwingen.

Image showing the firewall configuration for Azure Database for PostgreSQL

U klikt op Client-IP toevoegen op de werkbalk om het IP-adres van uw desktopcomputer toe te voegen.

Als u alleen-lezenreplica's hebt geconfigureerd, moet u een firewallregel toevoegen aan elke replica om deze toegankelijk te maken voor clients.

Tijdelijke verbindingsfouten

Wanneer u via internet verbinding maakt met een database, zijn tijdelijke verbindingsfouten onvermijdelijk en moeten deze worden verwerkt door clienttoepassingen.

Zie Afhandeling van tijdelijke verbindingsfouten voor Azure Database for MySQL voor informatie over tijdelijke connectiviteitsfouten.

MySQL-functies die niet worden ondersteund in Azure Database for MySQL

Hoewel de meeste functies in MySQL beschikbaar zijn in Azure Database for MySQL, worden sommige niet ondersteund. Bekijk deze functies om ervoor te zorgen dat u potentiële problemen tijdens de migratie kunt beperken.

Opslagengines

Azure Database for MySQL ondersteunt de InnoDB- en MEMORY-opslagengines. InnoDB is de standaardopslagengine voor MySQL, die een balans biedt tussen hoge prestaties en hoge betrouwbaarheid. Alle nieuwe tabellen in MySQL gebruiken de InnoDB-opslagengine, tenzij anders is opgegeven.

Zie Inleiding tot InnoDB voor meer informatie over de InnoDB-opslagengine.

Voor het opslaan van gegevens in het geheugen is de GEHEUGEN-opslagengine beschikbaar. Deze gegevens lopen risico op elke vorm van crash of storing. De ENGINE voor geheugenopslag mag alleen worden gebruikt als tijdelijk, hoog presterend archief.

ZieDe MEMORY Storage Engine voor meer informatie over de MEMORY Storage Engine.

MyISAM-, BLACKHOLE-, ARCHIVE- en FEDERATIEVE opslagengines worden niet ondersteund in Azure Database for MySQL. MyISAM-gegevens moeten worden geconverteerd naar de InnoDB-opslagengine. BLACKHOLE-, ARCHIVE- en FEDERATIEVE opslagengines hebben gespecialiseerde rollen en worden niet gebruikt als typische gegevensarchieven.

Bevoegdheden en rollen

De DBA-rol wordt niet weergegeven omdat veel serverinstellingen en -parameters transactieregels kunnen breken en de prestaties kunnen verminderen. Om vergelijkbare redenen is de SUPER-bevoegdheid beperkt, net als de DEFINER-component die gebruikmaakt van de SUPER-bevoegdheid .

Herstellen

Twee functies voor herstel werken anders in Azure Database for MySQL:

  • Herstel naar een bepaald tijdstip maakt een nieuwe server met een identieke configuratie voor de server waarop deze is gebaseerd.
  • U kunt een verwijderde server niet herstellen.