sql >> Base de Datos >  >> RDS >> Mysql

Alternativas de MySQL Workbench - Gestión de usuarios de la base de datos ClusterControl

La administración de usuarios y privilegios de MySQL es muy importante para fines de autenticación, autorización y contabilidad. Desde MySQL 8.0, ahora hay dos tipos de privilegios de usuario de base de datos:

  1. Privilegios estáticos:los privilegios generales, de esquema y administrativos comunes, como SELECT, ALTER, SUPER y USAGE, integrados en el servidor.
  2. Privilegios dinámicos:nuevo en MySQL 8.0. Un componente que se puede registrar y cancelar en tiempo de ejecución que proporciona un mejor control sobre los privilegios globales. Por ejemplo, en lugar de asignar el privilegio SUPER solo para fines de administración de configuración, es mejor que ese usuario en particular reciba solo el privilegio SYSTEM_VARIABLES_ADMIN.

La creación de un esquema de base de datos con su respectivo usuario es el paso inicial para comenzar a usar MySQL como su servidor de base de datos. La mayoría de las aplicaciones que utilizan MySQL como almacén de datos requieren que se realice esta tarea antes de que la aplicación pueda funcionar según lo previsto. Para usar con una aplicación, comúnmente un usuario de MySQL está configurado para tener todos los privilegios (TODOS LOS PRIVILEGIOS) en el nivel de esquema, lo que significa que el usuario de la base de datos que usa la aplicación tiene la libertad de realizar cualquier acción en la base de datos asignada.

En esta publicación de blog, vamos a comparar y contrastar las funciones de administración de usuarios de la base de datos MySQL entre MySQL Workbench y ClusterControl.

MySQL Workbench - Gestión de usuarios de bases de datos

Para MySQL Workbench, puede encontrar todo el material de gestión de usuarios en Administración -> Gestión -> Usuario y privilegios. Debería ver una lista de usuarios existentes en el lado izquierdo, mientras que en el lado derecho está la sección de configuración de autenticación y autorización para el usuario seleccionado:

MySQL admite más de 30 privilegios estáticos y no es fácil de entender y recordar el centro comercial. MySQL Workbench tiene una serie de roles administrativos preestablecidos, lo que es muy útil cuando se asignan suficientes privilegios a un usuario de la base de datos. Por ejemplo, si desea crear un usuario de MySQL específicamente para realizar actividades de copia de seguridad utilizando mysqldump, puede elegir la función BackupAdmin y los privilegios globales relacionados se asignarán al usuario en consecuencia:

Para crear un nuevo usuario de base de datos, haga clic en el botón "Agregar cuenta" y proporcione la información necesaria en la pestaña "Iniciar sesión". Puede agregar más restricciones de recursos en la pestaña "Límite de la cuenta". Si el usuario es solo para un esquema de base de datos y no está destinado a ninguna función administrativa (estrictamente para el uso de la aplicación), puede omitir la pestaña "Funciones administrativas" y simplemente configurar los "Privilegios de esquema".

En la sección "Privilegios de esquema", se puede elegir un esquema de base de datos (o definir el patrón coincidente) haciendo clic en "Agregar entrada". Luego, presione el botón "Seleccionar TODO" para permitir todos los derechos (excepto OTORGAR OPCIÓN), que es similar a la declaración de opción "TODOS LOS PRIVILEGIOS":

No se creará un usuario de base de datos en el servidor MySQL hasta que haya solicitado los cambios, haciendo clic en el botón "Aplicar".

ClusterControl - Gestión de base de datos y usuarios proxy

La base de datos de ClusterControl y la administración de usuarios es un poco más sencilla que lo que ofrece MySQL Workbench. Si bien MySQL Workbench es más amigable para los desarrolladores, ClusterControl se enfoca más en lo que les interesa a los administradores de sistemas y administradores de bases de datos, más como cosas de administración comunes para aquellos que ya están familiarizados con los roles y privilegios de MySQL.

Para crear un usuario de la base de datos, vaya a Administrar -> Esquemas y usuarios -> Usuarios -> Crear nuevo usuario. Se le presentará el siguiente asistente de creación de usuarios:

La creación de un usuario en ClusterControl requiere que complete todos los campos necesarios en uno página, a diferencia de MySQL Workbench, que implicó una serie de clics para lograr resultados similares. ClusterControl también admite la creación de un usuario con la sintaxis "REQUIERE SSL", para obligar al usuario en particular a acceder solo a través del canal de encriptación SSL.

ClusterControl proporciona una vista agregada de todos los usuarios de la base de datos en un clúster, lo que elimina la necesidad de iniciar sesión en cada servidor individual para buscar un usuario en particular:

Si pasa el cursor sobre el cuadro de privilegios, verá todos los privilegios que se han asignado a este usuario ClusterControl también proporciona una lista de usuarios inactivos, cuentas de usuario que no se han utilizado desde el último reinicio del servidor:

La lista anterior nos brinda un resumen claro de qué usuarios vale la pena existir , permitiéndonos gestionar al usuario de forma más eficiente. Luego, los DBA pueden preguntar al desarrollador si el usuario de la base de datos inactivo aún es necesario para estar activo; de lo contrario, la cuenta de usuario puede bloquearse o eliminarse.

Si tiene un balanceador de carga ProxySQL en el medio, es posible que sepa que ProxySQL tiene su propia administración de usuarios de MySQL para permitir que se pase a través de él. Hay una serie de configuraciones y variables diferentes en comparación con las configuraciones comunes de usuario de MySQL, por ejemplo, grupo de host predeterminado, esquema predeterminado, persistencia de transacciones, avance rápido y muchos más. ClusterControl proporciona una interfaz gráfica de usuario para administrar usuarios de la base de datos ProxySQL, lo que mejora la experiencia y la eficiencia de administrar su proxy y los usuarios de la base de datos a la vez:

Al crear un nuevo usuario de base de datos a través de la página de administración de ProxySQL, ClusterControl creará automáticamente el usuario correspondiente tanto en ProxySQL como en MySQL. Sin embargo, al eliminar un usuario MySQL de ProxySQL, el usuario de la base de datos correspondiente permanecerá en el servidor MySQL.

Ventajas y desventajas

ClusterControl es compatible con varios proveedores de bases de datos, por lo que obtendrá una experiencia de usuario similar al tratar con otros servidores de bases de datos. ClusterControl también admite la creación de un usuario de base de datos en varios hosts a la vez, donde se asegurará de que el usuario creado exista en todos los servidores de base de datos del clúster. ClusterControl tiene una forma más limpia de enumerar cuentas de usuario, donde puede ver toda la información necesaria directamente en la página de listado. Sin embargo, la gestión de usuarios requiere una suscripción activa y no está disponible en la edición comunitaria. No es compatible con todas las plataformas que puede ejecutar MySQL, en particular solo con ciertas distribuciones de Linux como CentOS, RHEL, Debian y Ubuntu.

La mayor ventaja de MySQL Workbench es que es gratuito y se puede utilizar junto con la gestión y administración de esquemas. Está construido para ser más amigable con los desarrolladores y administradores de bases de datos y tiene la ventaja de estar construido y respaldado por el equipo de Oracle, que posee y mantiene el servidor MySQL. También proporciona una guía mucho más clara con la descripción de la mayoría de los campos de entrada, especialmente en las partes críticas como la autenticación y la gestión de privilegios. El rol administrativo preestablecido es una forma ordenada de otorgar un conjunto de privilegios a un usuario, en función del trabajo que el usuario debe realizar en el servidor. En el lado negativo, MySQL Workbench no es una herramienta compatible con clústeres, ya que cada conexión de administración se adapta a un servidor MySQL de punto final. Por lo tanto, no proporciona una vista centralizada de todos los usuarios del clúster. Tampoco admite la creación de usuarios con cumplimiento de SSL.

Ninguna de estas herramientas es compatible con la nueva sintaxis de privilegios dinámicos de MySQL 8.0, por ejemplo, BACKUP_ADMIN, BINLOG_ADMIN, SYSTEM_VARIABLES_ADMIN, etc.

La siguiente tabla destaca las características notables de ambas herramientas para facilitar la comparación:

Aspecto de gestión de usuarios

Mesa de trabajo MySQL

ClusterControl

Sistema operativo compatible con el servidor MySQL

  • Linux

  • Windows

  • FreeBSD

  • Abrir Solaris

  • Mac OS

  • Linux (Debian, Ubuntu, RHEL, CentOS)

proveedor de MySQL

  • Oracle

  • Percona

  • Oracle

  • Percona

  • MariaDB

  • Codificación

Soporte de administración de usuarios para otro software

 
  • ProxySQL

Administración de usuarios de múltiples hosts

No

Vista agregada de usuarios en un clúster de base de datos

No

Mostrar usuarios inactivos

No

Crear usuario con SSL

No

Descripción de privilegios y roles

No

Función administrativa predeterminada

No

Privilegios dinámicos de MySQL 8.0

No

No

Coste

Gratis

Requiere suscripción para funciones de administración


Esperamos que estas publicaciones de blog lo ayuden a determinar qué herramientas se adaptan mejor para administrar sus bases de datos y usuarios de MySQL.