Azure Database for MySQL 中的内置存储过程

适用于: Azure Database for MySQL - 灵活服务器

Azure Database for MySQL 提供了多个内置存储过程来简化和自动执行高级数据库管理任务。 这些存储过程可帮助用户有效地配置数据传入复制、撤消日志清理和插件管理等功能。

本文介绍 Azure Database for MySQL 中提供的这些内置存储过程及其功能以及如何使用它们。

当前可用的内置存储过程

1.数据传入复制管理

Azure Database for MySQL 提供了用于管理数据传入复制的存储过程,包括启动、停止、检查状态和重置复制。

有关这些过程的详细信息,请参阅 如何配置 Azure Database for MySQL 灵活服务器数据传入复制

2. 插件管理

Azure Database for MySQL 支持 验证密码插件,该插件强制实施密码强度策略。 用户可以使用以下存储过程启用或禁用此插件:

启用验证密码插件

CALL az_install_validate_password_plugin();

启用插件后,可以在 Azure 门户中的“服务器参数”页上查看和配置相关参数。

禁用验证密码插件

CALL az_uninstall_validate_password_plugin();

此存储过程会移除插件。

3. 撤消日志清理

在某些情况下,撤消日志可能会变得很大,此时你可能想要清理它。 Azure Database for MySQL 提供了一个存储过程来帮助完成此任务。

  1. 若要检查表空间,请先执行以下命令。
SELECT NAME, FILE_SIZE, STATE FROM INFORMATION_SCHEMA.INNODB_TABLESPACES WHERE SPACE_TYPE = 'Undo' AND STATE = 'active' ORDER BY NAME;
  1. 如果发现撤消日志很大,请调用以下命令创建新的表空间。
call az_create_undo_tablespace(X)

目前,我们最多支持 8 个表空间,包括两个默认空间。 X 值必须介于 3 和 8 之间。 命令完成后,新表空间应处于活动状态。 3.执行以下命令以停用innodb_undo_001(默认一个)。

call az_deactivate_undo_tablespace(1)

然后等待 innodb_undo_001 的状态为空(这意味着撤消日志被截断)。 4.执行以下命令以激活innodb_undo_001(默认一个)。

call az_activate_undo_tablespace(1)

然后等待 innodb_undo_001 处于活动状态。 5.对innodb_undo_002重复 1-4 个步骤。 6. 执行 call az_deactivate_undo_tablespace(3) 以停用新创建的表空间。 等待状态变为空。 然后执行调用 az_drop_undo_tablespace(3) 以删除新创建的表空间。 不能删除默认的表空间(innodb_undo_001,innodb_undo_002),只删除创建的表空间,在此示例中,它为 x_undo_003。删除之前,先停用 x_undo_003,使其为空状态。

结束语

Azure Database for MySQL 提供了简化高级数据库管理任务的内置存储过程。 这些过程使用户能够设置复制、管理撤消日志并有效地启用插件。 通过应用这些工具,数据库管理员可以增强性能、优化存储并确保无缝数据同步。