¿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.