Entradas

Mostrando las entradas con la etiqueta mysql

DataSource en Jakarta EE

Imagen
Para que nuestra aplicación Jakarta EE tenga conexión a la base de datos, debemos configurar un DataSource. No debemos usar la clase java.sql.DriverManager , es decir, la conexión nativa a JDBC, sino, debemos usar lo que ofrece el servidor Jakarta EE. Aquí mostraremos dos maneras: configurando el DataSource en la misma aplicación, y configurando en el Servidor Jakarta EE.

Payara + MySQL en contenedores

Imagen
 Seguimos con la contenedir.. bueno, poniendo todo en contenedores. Ahora, una aplicación que estaba desarrollando en vivo, una aplicación Jakarta EE (con EJB, JPA y JSF) lo he puesto para que, en desarrollo, se pueda ejecutar en un Payara normal del IDE, y que también pueda ejecutarse en contenedores. Aquí explicaré un poco de cómo se logra esto, y un breve repaso a la organización de la aplicación.

OpenJDK + Liferay + MySQL, en contenedores

Imagen
  Estamos en el mundo de la contened.. conteneni...contenedoriza ... bueno, que todo lo colocan en contenedores. Lo cual es un gran alivio en la configuración y puesta en producción de servidores. No tendríamos de qué preocuparnos más que esté bien configurado a través de un archivo YAML. Una de los temas más recurrentes que he hablado en este humilde blog es sobre el CMS hecho en Java llamado Liferay. Siempre la parte que más me preocupaba era: ¿cómo diablos podemos ponerlo en producción con algunos pasos?. Pues bueno, aquí lo explico en este post: usando Docker.

Migración de datos de MySQL desde Windows a Linux

Imagen
Este es otro apunte "No Java" Si creas tablas en MySQL con nombres en Mayusculas/Minúsculas, habrás notado que puedes migrar la base de datos de un MySQL en Linux a uno en Windows sin problema.. pero no sucede al revés. ¿Por qué? MySQL crea un archivo un archivo físico por cada tabla. Entonces, en Linux una tabla llamada "Cuenta" no es lo mismo a "cuenta", ya que el sistema de archivos de Linux no lo permite. En cambio, en Windows, "Cuenta" es lo mismo que "cuenta".

Backup de todas las bases de datos en MySQL

Imagen
Comparto otro post no java (OPNJ) referente a MySQL. La idea es simple: quiero hacer backup de todas las bases de datos de MySQL, pero con las siguientes condiciones: Un archivo sql por cada base de datos Que en el nombre del archivo indique la fecha en que se hizo el backup Y que se ejecute en Windows. Hacemos un archivo .bat con el siguiente contenido: set USER=root set PASS=password set DB_LIST=databases.txt REM obtenemos todas las bases de datos echo show databases where not `Database` like '%%schema' | mysql -u %USER% -p%PASS% --column-names=false > %DB_LIST% REM recorre el contenido del archivo y ejecuta el comando mysqldump FOR /F %%G IN (%DB_LIST%) DO mysqldump -u %USER% -p%PASS% -B %%G -R --hex-blob=true > %%G-%DATE:~6,4%-%DATE:~3,2%-%DATE:~0,2%.sql y ahora, para que se ejecute cada cierto tiempo, usar el "Programador de Tareas de Windows".  saludos

mysqldump: ignorando el tag DEFINER

Imagen
Este es otro no-apunte-de-java. Se trata del MySQL. Resulta que he tratado de hacer un dump de un servidor a otro. Pero como tienen usuarios restringidos por host, y el mysqldump me genera el script con el tag /*!50013 DEFINER=`root`@`10.%` SQL SECURITY DEFINER */ ... pensé que debería haber algún parámetro de mysqldump para ignorar estos tags. Pero según el mismo MySQL dicen que tendría problemas de seguridad (vamos: darle derechos de pasar un VIEW o STORED PROCEDURE a alguien que no le corresponde). Así que tuve que valerme de un comando de unix/linux para ignorar estos tag:

Instalando base de datos MySQL de ejemplos desde NetBeans

NetBeans con JavaDB (Apache Derby) viene con unas bases de datos ejemplos, que son justamente los que se han usado en los tutoriales de este blog. Iba a hacer una demostración de cómo se instala la base de datos SAKILA de MySQL para un tutorial que iba hacer, pero encontré el plugin para NetBeans . Así que muestro un vídeo de cómo instalar este Plugin, además de cómo crear la base de datos de ejemplo desde NetBeans.

Concatenar filas en una columna (MySQL)

Este truco lo vi en la documentación de MySQL (vamos, sí, sí. no es Java, pero es algo que encontré y quiero compartirlo). Imaginemos que tenemos una tabla así +--------+--------+ | campo1 | campo2 | +--------+--------+ | fila1 | a | | fila2 | b | | fila2 | c | | fila1 | b | | fila3 | b | | fila2 | c | +--------+--------+ Y queremos concatenar todos los valores del campo2 por cada fila no repetida de campo1 así: +--------+--------+ | campo1 | campo2 | +--------+--------+ | fila1 | a,b | | fila2 | b,c | | fila3 | b | +--------+--------+ Para ello, hay que usar la función de agregación GROUP_CONCAT SELECT campo1,group_concat(distinct campo2) FROM tabla GROUP BY 1