¿Cómo mostrar variables del sistema en MySQL?

La sentencia SHOW VARIABLES muestra el valor de las variable del sistema/servidor en MySQL, no se necesita permisos especiales para ejecutar esta sentencia solo poder conectarse al servidor de MySQL, la sintaxis general es la siguiente.

SHOW [GLOBAL | SESSION] VARIABLES
    [LIKE 'pattern' | WHERE expr]

Si no se especifica modificador se asume SESSION por defecto. Los operadores LIKE y WHERE se usan para filtrar los resultados en caso contrario se muestran todas la variables del sistema.

Ejemplos

Los … puntos significa que hay más resultado por mostrar

Todas la variables del sistema

mysql> SHOW VARIABLES
+----------------------------------------------------------+------------------------------------------+
| Variable_name                                            | Value                                    |
+----------------------------------------------------------+------------------------------------------+
| activate_all_roles_on_login                              | OFF                                      |
| admin_address                                            |                                          |
| admin_port                                               | 33062                                    |
...
+----------------------------------------------------------+------------------------------------------+

Todas la variables del sistema cuyo valor no tenga más de 50 caracteres

mysql> SHOW VARIABLES WHERE LENGTH(Value) <= 50;
+----------------------------------------------------------+------------------------------------------+
| Variable_name                                            | Value                                    |
+----------------------------------------------------------+------------------------------------------+
| activate_all_roles_on_login                              | OFF                                      |
| admin_address                                            |                                          |
| admin_port                                               | 33062                                    |
...
+----------------------------------------------------------+------------------------------------------+

Todas las variables que casen con timeout

mysql> SHOW VARIABLES LIKE '%timeout%';
+-----------------------------------+----------+
| Variable_name                     | Value    |
+-----------------------------------+----------+
| connect_timeout                   | 10       |
| delayed_insert_timeout            | 300      |
| have_statement_timeout            | YES      |
| innodb_flush_log_at_timeout       | 1        |
| innodb_lock_wait_timeout          | 50       |
| innodb_rollback_on_timeout        | OFF      |
| interactive_timeout               | 28800    |
| lock_wait_timeout                 | 31536000 |
| mysqlx_connect_timeout            | 30       |
| mysqlx_idle_worker_thread_timeout | 60       |
| mysqlx_interactive_timeout        | 28800    |
| mysqlx_port_open_timeout          | 0        |
| mysqlx_read_timeout               | 30       |
| mysqlx_wait_timeout               | 28800    |
| mysqlx_write_timeout              | 60       |
| net_read_timeout                  | 60       |
| net_write_timeout                 | 60       |
| replica_net_timeout               | 60       |
| rpl_stop_replica_timeout          | 31536000 |
| rpl_stop_slave_timeout            | 31536000 |
| slave_net_timeout                 | 60       |
| ssl_session_cache_timeout         | 300      |
| wait_timeout                      | 28800    |
+-----------------------------------+----------+
23 rows in set (0.00 sec)

Usar el resultado en un script

Si desea usar el resultado anterior en un script entonces debe ejecutar un comando similar:

$ sudo mysql -u root -Bse 'SHOW VARIABLES LIKE "%admin%"'
admin_address	
admin_port	33062
admin_ssl_ca	
admin_ssl_capath	
admin_ssl_cert	
admin_ssl_cipher	
admin_ssl_crl	
admin_ssl_crlpath	
admin_ssl_key	
admin_tls_ciphersuites	
admin_tls_version	TLSv1.2,TLSv1.3
create_admin_listener_thread	OFF
log_slow_admin_statements	OFF
persist_only_admin_x509_subject	

Donde:

-B: Imprime el resultado usando tab como separador
-s: Modo silencio, produce resultado menos verboso, se puede repetir para que cada vez sea menos verboso.
-e: Ejecuta la sentencia especificada.

Rerencias


YouTube Video

Administrar MySQL desde la línea de comandos, 6 (18)

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.