MySQL Port (3306)
Última actualización
Última actualización
dbeaver
MySQL Workbench
Para interactuar con MySQL, podemos usar los binarios de MySQL para Linux (mysql
) o Windows (mysql.exe
). MySQL viene preinstalado en algunas distribuciones de Linux, pero también podemos instalar los binarios manualmente siguiendo una guÃa especÃfica.
Iniciar una sesión SQL interactiva en Windows:
Para instalar dbeaver usando un paquete Debian podemos descargar el paquete release .deb desde y ejecutar el siguiente comando:
Para iniciar la aplicación utilice:
Video - Connecting to MySQL DB using dbeaver
MySQL no tiene un procedimiento almacenado como xp_cmdshell
, pero podemos lograr la ejecución de comandos si escribimos en una ubicación del sistema de archivos que pueda ejecutar nuestros comandos. Por ejemplo, supongamos que MySQL se ejecuta en un servidor web basado en PHP u otros lenguajes como ASP.NET. Si tenemos los privilegios adecuados, podemos intentar escribir un archivo usando SELECT INTO OUTFILE
en el directorio del servidor web. Luego, podemos navegar hasta la ubicación del archivo y ejecutar nuestros comandos.
Como mencionamos anteriormente, por defecto una instalación de MySQL no permite la lectura arbitraria de archivos, pero si la configuración es la adecuada y contamos con los privilegios necesarios, podemos leer archivos utilizando los siguientes métodos:
En MySQL, una variable de sistema global llamada secure_file_priv
limita el efecto de las operaciones de importación y exportación de datos, como las realizadas por las sentencias LOAD DATA
y SELECT … INTO OUTFILE
, asà como por la función LOAD_FILE()
. Estas operaciones solo están permitidas para los usuarios que tengan el privilegio FILE
.
secure_file_priv
puede configurarse de las siguientes maneras:
Si está vacÃa, la variable no tiene efecto, lo cual no es una configuración segura.
Si está configurada con el nombre de un directorio, el servidor limita las operaciones de importación y exportación solo a ese directorio. El directorio debe existir; el servidor no lo crea automáticamente.
Si está configurada como NULL
, el servidor desactiva completamente las operaciones de importación y exportación.
En el siguiente ejemplo, podemos ver que la variable secure_file_priv
está vacÃa, lo que significa que podemos leer y escribir datos usando MySQL: