Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
PLATÍ PRO:
Azure Database for MySQL – flexibilní server
Azure Database for MySQL poskytuje několik předdefinovaných uložených procedur, které zjednodušují a automatizují pokročilé úlohy správy databází. Tyto uložené procedury pomáhají efektivně konfigurovat funkce, jako je replikace dat, vyčištění protokolu zpět a správa modulů plug-in.
Tento článek představuje integrované uložené procedury dostupné ve službě Azure Database for MySQL, jejich funkce a jejich použití.
Aktuální dostupné předdefinované uložené procedury
1. Správa replikace příchozích dat
Azure Database for MySQL poskytuje uložené procedury pro správu replikace příchozích dat, včetně spuštění, zastavení, kontroly stavu a resetování replikace.
Podrobnosti o těchto postupech najdete v tématu Konfigurace replikace dat flexibilního serveru Azure Database for MySQL.
2. Správa modulů plug-in
Azure Database for MySQL podporuje modul plug-in Validate Password, který vynucuje zásady síly hesel. Uživatelé můžou povolit nebo zakázat tento modul plug-in pomocí následujících uložených procedur:
Povolení modulu plug-in pro ověření hesla
CALL az_install_validate_password_plugin();
Po povolení modulu plug-in můžete zobrazit a nakonfigurovat související parametry na stránce Parametry serveru na webu Azure Portal.
Zakázání modulu plug-in pro ověření hesla
CALL az_uninstall_validate_password_plugin();
Tato uložená procedura odebere plugin.
Poznámka:
- U serverů s vysokou dostupností nejprve spusťte tyto uložené procedury na primárním serveru. Pak proveďte vynucené převzetí služeb při selhání a znovu proveďte uložené procedury na nové primární instanci.
- U serverů replik se tyto uložené procedury na primárním serveru automaticky nesynchronizují s replikami. Po jejich spuštění na primární replice je ručně spusťte na každé replice.
3. Čištění záznamu transakcí
V některých případech se může protokol pro vrácení zpět zvětšit a můžete ho chtít vymazat. Azure Database for MySQL poskytuje uloženou proceduru, která vám pomůže s touto úlohou.
- Pokud chcete zkontrolovat místo v tabulce, spusťte nejprve následující příkaz.
SELECT NAME, FILE_SIZE, STATE FROM INFORMATION_SCHEMA.INNODB_TABLESPACES WHERE SPACE_TYPE = 'Undo' AND STATE = 'active' ORDER BY NAME; - Pokud zjistíte, že je váš undo log velký, použijte následující příkaz k vytvoření nového tabulkového prostoru.
V současné době podporujeme až osm tabulkových prostorů, včetně dvou výchozích. Hodnota X musí být v rozsahu 3 až 8. Po dokončení příkazu by nový prostor tabulky měl být v aktivním stavu.call az_create_undo_tablespace(X) - Spuštěním následujícího příkazu deaktivujte innodb_undo_001 (výchozí).
Pak počkejte, až bude stav innodb_undo_001 prázdný (znamená to, že se protokol zpět zkrátí).call az_deactivate_undo_tablespace(1)
Zkrácení protokolu vrácení zpět můžete ověřit zkontrolováním části Ověřování a kontrola tabulek vrácení zpět. - Spuštěním následujícího příkazu aktivujte innodb_undo_001 (výchozí).
Pak počkejte, až bude stav innodb_undo_001 aktivní.call az_activate_undo_tablespace(1) - Opakujte kroky 1 až 4 pro innodb_undo_002.
- Spuštěním
call az_deactivate_undo_tablespace(3);deaktivujte nově vytvořený prostor tabulky. Počkejte, až bude stav prázdný. Pak spusťteCall az_drop_undo_tablespace(3);k odstranění nově vytvořeného tablespace. Nemůžete odstranit výchozí (innodb_undo_001, innodb_undo_002). V tomto příkladu můžete odstranit jenom ten, který jste vytvořili, x_undo_003.Před vyřazením nejprve deaktivujte x_undo_003 do prázdného stavu.
Ověřování a kontrola vrácení tabulkových prostorů zpět
Před vyprázdněním tabulkového prostoru pro vrácení zpět se ujistěte, že neexistují žádné aktivní transakce:
SELECT COUNT(1) FROM information_schema.innodb_trx;
- Pokud je výsledek 0, neexistují žádné aktivní transakce.
- Tabulkový prostor pro vrácení zpět lze vyprázdnit pouze v případě, že je tento počet nulový.
Po potvrzení, že transakce dosáhly nuly, zkontrolujte stav tabulkových prostorů pro vrácení změn:
SELECT NAME, FILE_SIZE, STATE
FROM information_schema.innodb_tablespaces
WHERE SPACE_TYPE = 'Undo'
ORDER BY NAME;
Přetažení problematické tabulky
Pokud při přístupu k tabulce dojde k chybě podobné následující, může to znamenat poškození tabulky:
Incorrect information in file: './DATABASE_NAME/TABLE_NAME.frm'
Pokud chcete tento problém vyřešit, můžete použít integrovanou uloženou proceduru:
mysql.az_drop_broken_table(DBNAME, TABLENAME)
Po provedení tohoto postupu doporučujeme server restartovat, aby se změny projevily.
Případně můžete provést obnovení k určitému bodu v čase a vrátit server do stavu před tím, než k problému došlo.
závěr
Azure Database for MySQL poskytuje integrované uložené procedury, které zjednodušují pokročilé úlohy správy databází. Tyto postupy umožňují nastavit replikaci, spravovat protokol zpět a efektivně povolovat pluginy. Použitím těchto nástrojů můžete zvýšit výkon, optimalizovat úložiště a zajistit bezproblémovou synchronizaci dat.