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

Alternativas de proxysql-admin - Interfaz gráfica de usuario de ClusterControl ProxySQL

ProxySQL es un proxy muy popular en entornos MySQL. Viene con un buen conjunto de características que incluyen división de lectura/escritura, almacenamiento en caché de consultas y reescritura de consultas. ProxySQL almacena su configuración en la base de datos SQLite, los cambios de configuración se pueden aplicar en tiempo de ejecución y se realizan a través de comandos SQL. Esto aumenta la curva de aprendizaje y podría ser un obstáculo para algunas personas a las que les gustaría simplemente instalarlo y ponerlo en funcionamiento.

Esta es una razón por la que existen un par de herramientas que pueden ayudarlo a administrar ProxySQL. Echemos un vistazo a uno de ellos, proxysql-admin, y comparémoslo con las funciones disponibles para ProxySQL en ClusterControl.

administrador-proxysql

Proxysql-admin es una herramienta que viene incluida en ProxySQL cuando se instala desde los repositorios de Percona. Está dedicado a facilitar la configuración de Percona XtraDB Cluster en ProxySQL. Puede definir la instalación en el archivo de configuración (/etc/proxysql-admin.cnf) o mediante argumentos al comando proxysql-admin. Es posible:

  1. Configurar grupos de host (lector, escritor, escritor de respaldo, fuera de línea) para PXC
  2. Crear usuario de monitoreo en ProxySQL y PXC
  3. Crear usuario de aplicación en ProxySQL y PXC
  4. Configurar ProxySQL (máximo de conexiones en ejecución, máximo de transacciones detrás)
  5. Sincronizar usuarios entre PXC y ProxySQL
  6. Sincronizar nodos entre PXC y ProxySQL
  7. Cree reglas de consulta predefinidas (división R/W) para usuarios importados de PXC
  8. Configurar SSL para conexiones de ProxySQL a las bases de datos back-end
  9. Defina un solo escritor o acceso rotativo al PXC

Como puede ver, esta no es una herramienta compleja, se enfoca en la configuración inicial. Echemos un vistazo a un par de ejemplos.

[email protected]:~# proxysql-admin --enable



This script will assist with configuring ProxySQL for use with

Percona XtraDB Cluster (currently only PXC in combination

with ProxySQL is supported)



ProxySQL read/write configuration mode is singlewrite



Configuring the ProxySQL monitoring user.

ProxySQL monitor user name as per command line/config-file is proxysql-monitor



The monitoring user is already present in Percona XtraDB Cluster.



Would you like to enter a new password [y/n] ? n



Monitoring user 'proxysql-monitor'@'10.%' has been setup in the ProxySQL database.



Configuring the Percona XtraDB Cluster application user to connect through ProxySQL

Percona XtraDB Cluster application user name as per command line/config-file is proxysql_user



Application user 'proxysql_user'@'10.%' already present in PXC.



Adding the Percona XtraDB Cluster server nodes to ProxySQL



Write node info

+------------+--------------+------+--------+

| hostname   | hostgroup_id | port | weight |

+------------+--------------+------+--------+

| 10.0.0.152 | 10           | 3306 | 1000   |

+------------+--------------+------+--------+



ProxySQL configuration completed!



ProxySQL has been successfully configured to use with Percona XtraDB Cluster



You can use the following login credentials to connect your application through ProxySQL



mysql --user=proxysql_user -p --host=localhost --port=6033 --protocol=tcp

Arriba muestra la configuración inicial. Como puede ver, se usó un modo de escritor único (predeterminado), se configuraron los usuarios de monitoreo y aplicación y se preparó toda la configuración del servidor.

[email protected]:~# proxysql-admin --status



mysql_galera_hostgroups row for writer-hostgroup: 10

+--------+--------+---------------+---------+--------+-------------+-----------------------+------------------+

| writer | reader | backup-writer | offline | active | max_writers | writer_is_also_reader | max_trans_behind |

+--------+--------+---------------+---------+--------+-------------+-----------------------+------------------+

| 10     | 11     | 12            | 13      | 1      | 1           | 2                     | 100              |

+--------+--------+---------------+---------+--------+-------------+-----------------------+------------------+



mysql_servers rows for this configuration

+---------------+-------+------------+------+--------+--------+----------+---------+-----------+

| hostgroup     | hg_id | hostname   | port | status | weight | max_conn | use_ssl | gtid_port |

+---------------+-------+------------+------+--------+--------+----------+---------+-----------+

| writer        | 10    | 10.0.0.153 | 3306 | ONLINE | 1000   | 1000     | 0       | 0         |

| reader        | 11    | 10.0.0.151 | 3306 | ONLINE | 1000   | 1000     | 0       | 0         |

| reader        | 11    | 10.0.0.152 | 3306 | ONLINE | 1000   | 1000     | 0       | 0         |

| backup-writer | 12    | 10.0.0.151 | 3306 | ONLINE | 1000   | 1000     | 0       | 0         |

| backup-writer | 12    | 10.0.0.152 | 3306 | ONLINE | 1000   | 1000     | 0       | 0         |

+---------------+-------+------------+------+--------+--------+----------+---------+-----------+

Aquí está el resultado de la configuración predeterminada de los nodos PXC en ProxySQL.

Control de clúster

ClusterControl es, en comparación con proxysql-admin, una solución mucho más compleja. Puede implementar un balanceador de carga ProxySQL y preconfigurarlo de acuerdo con los requisitos del usuario.

Al implementar, puede definir el usuario y la contraseña del administrador, monitorear al usuario y puede también importe uno de los usuarios de MySQL existentes (o cree uno nuevo si esto es lo que necesita) para que lo use la aplicación. También es posible importar la configuración de ProxySQL desde otro ProxySQL que ya tenga en el clúster. Hace que la implementación sea más rápida y eficiente.

Lo que también es importante mencionar es que ClusterControl puede implementar ProxySQL tanto en MySQL como en Galera Clusters. Se puede usar con versiones MySQL, Percona y MariaDB de MySQL.

Una vez implementado, ClusterControl le brinda opciones para administrar completamente ProxySQL a través de una GUI fácil de usar.

Puede monitorear su instancia de ProxySQL.

Puede verificar las consultas más pesadas ejecutadas a través de ProxySQL. También es posible crear una regla de consulta basada en la consulta exacta.

ClusterControl configura ProxySQL para una división de lectura/escritura. También es posible agregar reglas de consulta personalizadas según sus requisitos y la configuración de la aplicación.

En comparación con proxysql-admin, ClusterControl le brinda control total sobre la configuración del servidor . Puede agregar nuevos servidores, puede moverlos entre los grupos de host como desee. Puede crear nuevos grupos de host (y luego, por ejemplo, crear nuevas reglas de consulta para ellos).

También es posible administrar usuarios en ProxySQL. Puede editar usuarios existentes, importar nuevos usuarios que existen en la base de datos backend.

También es posible realizar la importación masiva. También puede crear nuevos usuarios tanto en ProxySQL como en bases de datos backend.

ClusterControl también se puede usar para reconfigurar ProxySQL. Puede modificar todas las variables a través de una interfaz de usuario simple con opción de búsqueda.

Como puede ver, ClusterControl viene con funciones de administración detalladas para ProxySQL. Le permite implementar y administrar instancias de ProxySQL con facilidad.