
Como instalar y poner en marcha un servidor de MySql
MySql es uno de los servidores de base de datos más utilizados en internet para proyectos de todo tipo y aprender a instalarlo y a conectarse no es mala idea …
MySql es uno de los servidores de base de datos más utilizados en internet para proyectos de todo tipo y aprender a instalarlo y a conectarse no es mala idea …
En MySql con las tablas y vistas de sistema es muy sencillo buscar foreign keys. Si nos encontramos con una base de datos que tenemos que relacionar y no sabemos exactamente qué foreign keys tiene creadas y donde no ...
A veces no sabemos que pasa entre nuestra aplicación y el servidor de datos MySql, tenemos errores y no sabemos si los parámetros llegan bien, si se ejecutan las consultas correctamente o simplemente queremos saber cuantas consultas lanza la aplicación ... para saber esto tenemos los logs de MySql que por supuesto vienen desactivados
Para generar números random hay que utilizar la función rand() de MySql.
Ver el espacio que ocupa una base de datos MySql es bastante sencillo a través de consultas a la tabla de sistemas information_schema
En un servidor de MySql a quien no le ha pasado que se le olvida el password de acceso del usuario root ... bueno en realidad esto no debería pasar ... pero pasa, y hay una forma sin saber el password poder cambiarlo ...
A veces en MySql tenemos la necesidad de comparar los datos de dos tablas igual pero que los datos que contengan sean diferentes en algún campo por x motivos ... el proceso de comparación con quieres una a una puede ser tedioso ... pero ...
MySql dispone de mecanismos para registrar lo que pasa por el servidor, registrar todas las consultas que se ejecutan en el servidor MySql.
Hay muchas formas de realizar backups en MySql, cualquier aplicación para administrar MySql puede realizar backups pero dependiendo de las tablas y cantidad de datos no todas son fiables ... Lo que si es fiable es realizar los backups desde el terminal con mysqldump. Vamos a ver diferentes opciones para realizar backups ...
En MySql Workbench cuando cambiamos a dark mode el editor de consultas no cambia y se queda en color blanco pero podemos arreglarlo y poner en dark mode modificando el código de un fichero de configuración.
Bajando una imagen de Docker de phpMyAdmin podemos utilizarla para conectar con cualquier MySql al que tengamos permiso para conectar.
Muchas veces en MySql necesitamos bases de datos de pruebas para trabajar. Desde su web podemos descargarnos algunas para realizar pruebas.
Vamos a ver como hacer backup de todo nuestro MySql pero filtrando bases de datos que no queremos copiar.
Estos días intentando hacer un backup de una base de datos de MySql con mysqldump me daba el siguiente error ...
Con una sencilla consulta del sistema de MySql podemos saber lo que ocupa una determinada tabla en disco.
A veces en MySql tenemos una subquery que devuelve n registros y nos interesa mostrarlos en único campo ...
Hay varias formas de calcular el espacio que ocupa MySql, en total, en bytes, en numero de registros, en espacio en disco. Vamos a ver las consultas necesarias que tenemos que utilizar, sabiendo lo que ocupa podemos tomar decisiones informadas sobre la optimización y mantenimiento de una base de datos.
En MySql cuando tenemos bases de datos muy grandes y queremos realizar backups podemos excluir los datos de estas tablas pero incluir la estructura de la tabla.
Reemplazar texto en MySql con un UPDATE parece complicado pero en realizar solo es lanzar una consulta update y utilizando una función de MySql
Esto me ha pasado en MySql cuando he intentado borrar millones de registros de una base de datos, el problema es que los tiempos de bloqueo que hay seteados en la base de datos son inferiores a los que necesita por haber tantos registros.
Instalar o restaurar una base de datos MySql en un contenedor Docker es muy sencillo y similar a realizar el proceso en un servidor sin docker.
En este ejemplo descargamos una base de datos de pruebas para MySql, la instalamos y cargamos datos en ella.
Con Docker podemos crear de una forma muy fácil servidores de MySql de diferentes versiones en un mismo servidor o de postgreSQL
Desde una consulta MySql podemos paginar muy fácilmente los registros de una tabla, con esto ganamos velocidad porque si nuestra tabla tiene 1 Millón de registros solo nos traemos al web lo que necesitamos y no el millon
He preparado una pequeña aplicación para realizar migraciones de bases de datos MySql a postgreSQL, lo subo al github y explico como ejecutar el script
Cuando almacenamos datos del tipo JSON en MySql, podemos muy facilmente extraer los valores de un determinado campo con una query.
Esta utilidad escrita en PHP nos permite comparar la estructura de dos tablas de una base de datos de MySql, postgreSQL, SQL Server y Oracle.
Hay una consulta en MySql que nos dice el tamaño en MB o GB que ocupan las bases de datos en el disco.
Con la instrucción TRUNCATE en MySql podemos eliminar y limpiar una tabla completa.
En MySql cuando utilizamos Where Campo in para buscar multiples códigos podemos devolver el resultado en el mismo orden que los ponemos en la clausula IN utilizando la función field en la clausula ORDER BY ...
Trabajar con fechas en consultas MySql suele ser lo mas normal a la hora de filtrar u obtener datos y puede ser algo liado si no conocemos las funciones de fecha que tiene MySql ...
Es bastante sencillo, basta con ejecutar un ALTER USER al usuario root con un nuevo password ...
Bueno, en Ubuntu o derivados de Debian, recien instsalado MySql 8.x no sabemos como entrar como root porque no tenemos el password, bien con estos pasos podreis ponerle un password a root ...
A veces necesitamos saber datos del entorno de MySql y podemos obtener estos datos de las GLOBAL VARIABLES, por ejemplo saber el puerto ...
Cuando no conocemos las tablas de una base de datos MySql y queremos saber en que tablas aparece un determinado campo podemos utilizar las tablas de sistema para averiguarlo ...
A veces tenemos tanto movimiento en las tablas de MySql que necesitamos conocer las tablas que se van actualizando en tiempo real ...
Igual que hemos comentado que en MySql podemos realizar un backup de todas las bases de datos en un fichero también podemos hacer el backup en ficheros separados para cada base de datos.
Si en MySql tenemos muchas bases de datos podemos hacer un backup de todas ellas a la vez.
A veces es necesario reemplazar gran cantidad de texto en alguna tabla de la base de datos. Esta tarea la podemos hacer de forma sencilla con la función REPLACE en la sentencia SQL Update.
En Mysql todas las consultas que lanzamos tenemos la opción de guardar en disco los resultados de forma muy sencilla
Con phpMyAdmin no solo podemos conectarnos a nuestro servidor MySql local sino que modificando el fichero de configuración podemos acceder a cualquier servidor remoto, si tenemos permiso.
Muchas veces cuando programamos necesitamos desde código obtener algún dato interno de MySql y eso lo podemos hacer con las tablas de sistema ...
Para poder ejecutar querys a MySql desde el terminal hay que instalar el cliente de MySql ...
A veces es necesario hacer GROUP BY por un solo campo pero para poder hacerlo hay que habilitarlo en MySql o mejor dicho deshabilitarlo ...
Vamos a instalar y poner en funcionamiento paso a paso un servidor MySql en el proveedor de servidores clouding.io, creando usuarios, copias de seguridad, accesos remotos al servidor y viendo algunas opciones de configuración.
Utilizando el comando TRUNCATE podemos borrar todos los datos de una tabla de MySql y reiniciar el autonumérico a 1 ...
La verdad que en las versiones 5.5 de MySql o superiores es bastante sencillo cambiar el password con los ficheros de configuración de MySql ...
A veces me ha pasado al instalar o abrir una consola de MySql no se que que usuario ha iniciado sesión pero es muy sencillo saberlo con una sencilla query ...
Esto nos puede servir para saber los valores que tienen las tablas en MySql, el motor, los registros que tiene, etc ... información variada
Hacer un backup de una base de datos de MySql es sencillo a través de la linea de comando e igual de sencillo hacer el backup de una sola tabla que a veces es muy necesario.
A veces desde código SQL necesitamos obtener el ultimo valor de incremento de una tabla de MySql
En MySql es sencillo crear identificadores únicos con una instrucción.
Este web nos da acceso a MySql gratis online. El otro día estaba pensando que necesitaba una base de datos de MySql de pruebas online, pensé que bien me iría y me dije ... seguro que alguien ya lo ha hecho así que me puse a buscar y di con remotemysql.com
A veces es necesario realizar backups solo de la estructura de la base de datos de MySql, esto es muy sencillo desde la linea de comandos
Cuando intentamos guardar un fichero en MySql con SELECT * INTO OUTFILE o leer con LOAD DATA INFILE nos da el siguiente error #1290 - El servidor MySQL está rodando con la opción --secure-file-priv tal que no puede ejecutar este comando ...
En la versión de MySql 5.7, no se si alguna anterior, cuando realizas la instalación del servidor de MySql resulta que ahora no pide password de root y cuando termina la instalación no se puede acceder al sistema con el usuario root. La solución es muy sencilla.
En MySql es una operación muy sencilla la de cambiar el directorio donde se alojan las bases de datos. Solo hay que seguir unos pasos que os pongo a continuación.
En MySql con un simple insert into ... select ... se pueden copiar datos entre diferentes bases de datos.
Cuando en MySql desde la línea de comando intentamos restaurar bases de datos con extensión .sql.zip o con cualquier compresión da el siguiente error: ERROR: ASCII '\0' appeared in the statement, but this is not allowed unless option --binary-mode is enabled and mysql is run in non-interactive mode..
Igual que en postgreSQL en MySql también podemos copiar una base de datos a otra, pero el proceso es un "pelin" mas complejo.
Alguna vez pasa que se olvida el password de root del MySql, si entráis en el sistema como root y desde la linea de comando con unas sencillas instrucciones de MySql se puede resetear.
Podemos cambiar el password del MySql de root o de cualquier otro usuario de dos formas diferentes, desde el terminal con mysqladmin o entrando dentro del MySql con una sentencia update.
Igual que se puede hacer con SQL Server para MySql también tenemos una instrucción para listar los datos de una base de datos.
Para obtener un listado de consultas que se están ejecutando en MySql tenemos la instrucción show processlist que nos mostrará el listado de querys que se ejecutan en el servidor.
Cuando trabajamos con tablas InnoDb tenemos la opción de crear claves foráneas y relacionar una base de datos como es debido. Pero a veces es necesario desactivarlas para poder hacer según que operaciones. Actualizado el 12.03.2011
Son tareas muy comunes a realizar en cualquier base de datos. Con MySql podemos hacer copias de seguridad (backup) y restaurarlas (restore) con el phpMyAdmin o a través de línea de comandos que es como vamos a ver a continuación.
Vamos a ver cómo crear usuarios en MySql desde la línea de comandos y darles diferentes permisos de accesos a las bases de datos.