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
- SHOW VARIABLES Statement
- man mysql
Administrar MySQL desde la línea de comandos, 6 (18)
- Cómo instalar MySQL 8.0 en Ubuntu 20.04
- Como instalar MySQL 8.0 en Debian
- Cómo instalar MariaDB en Alpine Linux
- Cómo instalar MariaDB en NetBSD
- MySQL 8.0, cambiar contraseña de root
- ¿Cómo mostrar variables del sistema en MySQL?
- Deshabilitar innodb engine en mysql
- Administrar servidor MySQL – Básico
- Motores de almacenamiento disponibles/habilitados en MySQL
- MySQL: Recuperar la clave (password) de root
- MySQL Administración de usuarios
- MySQL ejecutar script SQL
- Copias de seguridad (Backup) en MySQL
- Crear / Modificar / Eliminar tablas en MySQL
- Connectarse a MySQL desde la LAN
- Character set disponibles en MySQL
- MySQL no puede escribir en el dir /tmp
- Cómo instalar MySQL 5.7 en CentOS 7