Správa konfigurace MySQL se skládá ze dvou hlavních součástí – konfiguračních souborů MySQL a konfigurace za běhu. Aplikování změn konfigurace na běhové prostředí lze provést prostřednictvím klientů serveru MySQL bez oprávnění pro proměnné relace, ale s oprávněními SUPER pro globální proměnné. Aplikování stejných konfiguračních změn do konfiguračního souboru MySQL je také nutné, aby změny byly trvalé po restartování MySQL, jinak se během spouštění načtou výchozí hodnoty.
V tomto blogovém příspěvku se podíváme na ClusterControl Configuration Management jako alternativu ke správě konfigurace MySQL Workbench.
Správa konfigurace MySQL Workbench
MySQL Workbench je grafický klient pro práci se servery MySQL a databázemi pro servery verze 5.xa vyšší. Je volně dostupný a běžně ho používají SysAdmins, DBA a vývojáři k provádění SQL vývoje, datového modelování, administrace MySQL serveru a migrace dat.
MySQL Workbench můžete použít k provádění správy konfigurace MySQL/MariaDB na vzdáleném serveru MySQL. K aktivaci této funkce je však třeba provést několik počátečních kroků. Z MySQL Workbench vyberte existující profil připojení a zvolte Konfigurovat vzdálenou správu. Zobrazí se vám podrobný průvodce konfigurací, který vám pomůže nastavit vzdálenou správu profilu připojení:
Na začátku je proveden pokus o připojení k určení verze serveru a operační systém cílového stroje. To umožňuje ověření nastavení připojení a umožňuje průvodci vybrat smysluplnou předvolbu konfigurace. Pokud se tento pokus nezdaří, stále můžete pokračovat dalším krokem, kde můžete dále upravit nastavení tak, aby vyhovovalo prostředí vzdáleného serveru.
Jakmile je konfigurace vzdáleného připojení dokončena, dvakrát klikněte na profil připojení a začněte se připojovat k instanci MySQL. Poté přejděte do Instance -> Options File a otevřete sekci Configuration manager. Měli byste vidět něco podobného jako na následujícím snímku obrazovky:
Všechny existující konfigurační proměnné z konfiguračního souboru jsou předem načteny do této konfigurace správce, takže můžete vidět, jaké možnosti byly povoleny s příslušnými hodnotami. Konfigurace jsou rozděleny do několika sekcí – Obecné, protokolování, InnoDB, sítě atd. – což nám skutečně pomáhá zaměřit se na konkrétní funkce, které chceme vyladit nebo povolit.
Jakmile jste se změnami spokojeni, a před kliknutím na „Použít“ se ujistěte, že jste vybrali správnou sekci skupiny MySQL z rozbalovací nabídky (hned vedle tlačítka Zahodit). Po použití byste měli vidět, že konfigurace je aplikována na server MySQL, kde se v konfiguračním souboru MySQL objeví nový řádek (pokud neexistoval).
Pamatujte, že kliknutím na tlačítko "Použít" se odpovídající změna neprovede do běhového prostředí MySQL. Chcete-li načíst nové konfigurační změny, musíte provést restart na serveru MySQL tak, že přejdete na Instance -> Startup/Shutdown. To bude mít dopad na dostupnost vaší databáze.
Chcete-li zobrazit všechny stavy a proměnné načteného systému, přejděte na Správa -> Stav a systémové proměnné:
Správa konfigurace ClusterControl
Správce konfigurace ClusterControl je přístupný v části Spravovat -> Konfigurace. ClusterControl stáhne řadu důležitých konfiguračních souborů a zobrazí je ve stromové struktuře. Centralizovaný pohled na tyto soubory je klíčem k efektivnímu pochopení a řešení problémů s nastavením distribuované databáze. Následující snímek obrazovky ukazuje správce konfiguračních souborů ClusterControl, který vypsal všechny související konfigurační soubory pro tento cluster v jediném zobrazení se zvýrazněním syntaxe:
Jak můžete vidět na snímku obrazovky výše, ClusterControl rozumí MySQL "!include " a projde všemi konfiguračními soubory, které jsou k němu přidruženy. Například z hostitele 192.168.0.21 jsou stahovány dva konfigurační soubory MySQL, /etc/my.cnf a /etc/my.cnf.d/secrets-backup.cnf. Na jiné kartě editoru můžete otevřít více konfiguračních souborů, což usnadňuje porovnání obsahu vedle sebe. ClusterControl také stahuje informace o poslední změně souboru z časového razítka OS, jak je znázorněno v pravém dolním rohu textového editoru.
ClusterControl eliminuje opakování při změně možnosti konfigurace databázového clusteru. Změnu možnosti konfigurace na více uzlech lze provést prostřednictvím jediného rozhraní a odpovídajícím způsobem se použije na uzel databáze. Když kliknete na "Změnit/Nastavit parametr", můžete vybrat instance databáze, které chcete změnit, a zadat konfigurační skupinu, parametr a hodnotu:
Do konfiguračního souboru můžete přidat nový parametr nebo upravit existující parametr . Pokud volba projde procesem ověření proměnné, bude parametr použit na běhové prostředí vybraných uzlů databáze a do konfiguračního souboru. Některé proměnné mohou vyžadovat následný krok, jako je restart serveru nebo opětovné načtení konfigurace, na které pak ClusterControl upozorní.
Všechny služby nakonfigurované pomocí ClusterControl používají základní konfigurační šablonu dostupnou v /usr/share/cmon/templates v uzlu ClusterControl. Soubor můžete přímo upravit tak, aby vyhovoval vašim zásadám nasazení, avšak tento adresář bude po upgradu balíčku nahrazen. Abyste se ujistili, že vaše vlastní konfigurační soubory šablon přetrvávají i během upgradů, uložte je do adresáře /etc/cmon/templates. Když ClusterControl načte soubor šablony pro nasazení, soubory v /etc/cmon/templates budou mít vždy vyšší prioritu před soubory v /usr/share/cmon/templates. Pokud v obou adresářích existují dva soubory s identickými názvy, použije se ten, který se nachází v /etc/cmon/templates.
Přejděte na Výkon -> Proměnné DB a zkontrolujte konfiguraci běhového prostředí pro všechny servery v clusteru:
Všimli jste si řádku zvýrazněného červeně na snímku obrazovky výše? To znamená, že konfigurace není identická ve všech uzlech. To poskytuje lepší přehled o rozdílech v konfiguraci mezi hostiteli v konkrétním databázovém clusteru.
Workbench vs ClusterControl:Výhody a nevýhody
Každý produkt má svůj vlastní soubor výhod a nevýhod. Pro ClusterControl, protože rozumí clusteru a topologii, je to nejlepší konfigurační manažer pro správu více databázových uzlů najednou. Podporuje více dodavatelů MySQL, jako je MariaDB, Percona a také všechny varianty Galera Cluster. Rozumí také formátu konfigurace nástroje pro vyrovnávání zatížení databáze pro HAProxy, MariaDB MaxScale, ProxySQL a Keepalived. Protože ClusterControl vyžaduje konfiguraci SSH bez hesla na začátku importu/nasazení clusteru, správa konfigurace nevyžaduje žádné vzdálené nastavení jako Workbench a funguje ihned poté, co jsou hostitelé spravováni pomocí ClusterControl. Změny konfigurace MySQL provedené pomocí ClusterControl budou automaticky načteny do běhového prostředí (pro všechny podporované proměnné) a také zapsány do konfiguračních souborů MySQL, aby byly zachovány. Pokud jde o nevýhody, správa konfigurace ClusterControl nepřichází s popisy konfigurace, které by nám mohly pomoci předvídat, co by se stalo, kdybychom změnili možnost konfigurace. Nepodporuje všechny platformy, které může MySQL provozovat, zejména pouze některé distribuce Linuxu, jako je CentOS, RHEL, Debian a Ubuntu.
MySQL Workbench podporuje vzdálenou správu mnoha operačních systémů, jako jsou Windows, FreeBSD, MacOS, Open Solaris a Linux. MySQL Workbench je k dispozici zdarma a lze jej použít také s jinými dodavateli MySQL, jako je Percona a MariaDB (i když zde není uveden, funguje s některými staršími verzemi MariaDB). Podporuje také správu instalace z balíčku TAR. Umožňuje některá přizpůsobení cesty konfiguračního souboru, příkazů service/stop a pojmenování sekcí skupin MySQL. Jednou z elegantních funkcí je, že MySQL Workbench používá rozbalovací nabídku pro pevné hodnoty, což může být obrovskou pomocí při snižování rizika nesprávné konfigurace ze strany uživatele, jak ukazuje následující snímek obrazovky:
Na druhou stranu MySQL Workbench nepodporuje správu konfigurace více hostitelů, kde musíte provést změnu konfigurace na každém hostiteli samostatně. Také netlačí změny konfigurace do běhového prostředí bez explicitního restartu MySQL, což může ohrozit dostupnost databázových služeb.
Následující tabulka zjednodušuje významné rozdíly převzaté ze všech zmíněných bodů:
Poměr stran konfigurace | MySQL Workbench | ClusterControl |
Podporovaný operační systém pro server MySQL |
|
|
Dodavatel MySQL |
|
|
Podpora dalšího softwaru |
| |
Popis konfigurace/proměnné | Ano | Ne |
Zvýraznění syntaxe konfiguračního souboru | Ne | Ano |
Rozbalovací konfigurační hodnoty | Ano | Ne |
Konfigurace více hostitelů | Ne | Ano |
Automaticky odeslat konfiguraci do běhového prostředí | Ne | Ano |
Šablona konfigurace | Ne | Ano |
Cena | Zdarma | Pro správu konfigurace je vyžadováno předplatné |