HOla!
Esta ocasión platico lo que me pasó. Tratando de cargar una base de datos bastante grande (una tabla cuyo sql era de aprox 6GB), me encontré con la dificultad de que al importarlo a través de la linea de comandos de MySQL tardaba un demonial, más de lo que podría suponerse, tardando 20 segundos o más por cada 1000 registros (hablábamos de unos 5 millones de registros).
Me di cuenta que el dump lo habían generado desde una útil herramienta llamada SQLyog y que mi compañero desde su máquina haciendo el import con la misma herramienta tardaba muuuucho menos que yo.
Entonces vi que el archivo sql del dump no contenía ninguna clase de comentario ni directiva extra más que la carga de los datos, es decir, el create de la tabla y los inserts, ¡Ah claro! y que había sido hecho por SQLyog.
Encontré una página con algunas estrategias para acelerar los procesos de dump y de importación:
Aquí
Entre ellos uno me llamó la atención y parece la solución a mi problema. Al restaurar desde consola en linux sería bueno activar las directivas para cancelar varios chequeos que hace MySQL y acelerar el proceso.
(
echo "SET AUTOCOMMIT=0;"
echo "SET UNIQUE_CHECKS=0;"
echo "SET FOREIGN_KEY_CHECKS=0;"
cat dump.sql
echo "SET FOREIGN_KEY_CHECKS=1;"
echo "SET UNIQUE_CHECKS=1;"
echo "SET AUTOCOMMIT=1;"
echo "COMMIT;"
) | mysql -u... -p... target_database
o podemos crear un archivo para ejecutar desde el shell:
#!/bin/bash
MYSQL_USER="..."
MYSQL_PASSWORD="..."
function restore() {
echo $1;
(
echo "SET AUTOCOMMIT=0;"
echo "SET UNIQUE_CHECKS=0;"
echo "SET FOREIGN_KEY_CHECKS=0;"
cat "$1.sql"
echo "SET FOREIGN_KEY_CHECKS=1;"
echo "SET UNIQUE_CHECKS=1;"
echo "SET AUTOCOMMIT=1;"
echo "COMMIT;"
) | mysql -u"$MYSQL_USER" -p"$MYSQL_PASSWORD" "$1"
}
Con esto aceleramos mucho la inserción, sin embargo de todos modos tarda.
En la página donde saqué estas cosas también vienen otras recomendaciones que pueden ser bastante útiles al exportar e importar Bases de Datos en MySQL.
martes, 10 de marzo de 2015
jueves, 5 de marzo de 2015
Especificar JDK para Tomcat (probado con 6 y 7) en Ubuntu
Este error puede ocurrir cuando recién instalamos Tomcat en nuestra máquina (Estoy usando Ubuntu).
no JDK found - please set JAVA_HOME
Para establecer valor para JAVA_HOME abrimos el archivo gedit /etc/default/tomcat# (# es el numero de la versión del Tomcat que estemos usando, ejem: tomcat6 ) usar:
En la parte del archivo donde dice:
# The home directory of the Java development kit (JDK). You need at least
# JDK version 1.5. If JAVA_HOME is not set, some common directories for
# OpenJDK, the Sun JDK, and various J2SE 1.5 versions are tried.
#JAVA_HOME=/usr/lib/jvm/openjdk-6-jdk
Descomentamos y cambiamos el valor de la variable JAVA_HOME por ejemplo:
JAVA_HOME=/usr/lib/jvm/java-7-oracle
Reiniciamos Tomcat, por ejemplo usando tomcat6
sudo /etc/init.d/tomcat6 restart
¡y listo!
Un plus que es si te aparece este error en NetBeans
CATALINA_HOME /conf/server.xml can’t be read
Generar la liga en el directorio base del Tomcat
# ln -s /etc/tomcat7 /usr/share/tomcat7/conf
Y despues asigna valor a tu CATALINA_HOME como /usr/share/tomcat7/conf
¡¡¡Y otra vez listo!!!
¡¡Saludos javer@s!
no JDK found - please set JAVA_HOME
Para establecer valor para JAVA_HOME abrimos el archivo gedit /etc/default/tomcat# (# es el numero de la versión del Tomcat que estemos usando, ejem: tomcat6 ) usar:
gksudo gedit /etc/default/tomcat6
En la parte del archivo donde dice:
# The home directory of the Java development kit (JDK). You need at least
# JDK version 1.5. If JAVA_HOME is not set, some common directories for
# OpenJDK, the Sun JDK, and various J2SE 1.5 versions are tried.
#JAVA_HOME=/usr/lib/jvm/openjdk-6-jdk
Descomentamos y cambiamos el valor de la variable JAVA_HOME por ejemplo:
JAVA_HOME=/usr/lib/jvm/java-7-oracle
Reiniciamos Tomcat, por ejemplo usando tomcat6
sudo /etc/init.d/tomcat6 restart
¡y listo!
Un plus que es si te aparece este error en NetBeans
CATALINA_HOME /conf/server.xml can’t be read
Generar la liga en el directorio base del Tomcat
# ln -s /etc/tomcat7 /usr/share/tomcat7/conf
Y despues asigna valor a tu CATALINA_HOME como /usr/share/tomcat7/conf
¡¡¡Y otra vez listo!!!
¡¡Saludos javer@s!
viernes, 20 de febrero de 2015
Liberar Memoria RAM en Ubuntu-Linux
Esta posibilidad me pareció formidable en lo personal desde que la encontré.
Aquí viene la publicación original donde viene además una explicación de porqué es una muy buena opción hacerlo de esta manera.
Aquí para ver publicación
Y aquí les muestro directo la forma de usar desde consola para liberar el espacio en RAM. Se deben introducir los siguientes dos comandos en este orden para liberar memoria, es importante siempre hacerlo así, ambos comandos:
1° sincronizar para identificar nodos libres, etc, etc (importante para no perder información que no ha sido guardada en disco):
sudo sync
2° Seguido de:
Aquí viene la publicación original donde viene además una explicación de porqué es una muy buena opción hacerlo de esta manera.
Aquí para ver publicación
Y aquí les muestro directo la forma de usar desde consola para liberar el espacio en RAM. Se deben introducir los siguientes dos comandos en este orden para liberar memoria, es importante siempre hacerlo así, ambos comandos:
1° sincronizar para identificar nodos libres, etc, etc (importante para no perder información que no ha sido guardada en disco):
sudo sync
2° Seguido de:
sudo sysctl -w vm.drop_caches=3
¡Hasta la vista javer@s!
miércoles, 19 de noviembre de 2014
Herramientas GIMP gmic al rescate
¿Estas buscando como aplicar filtros a tus imágenes en GIMP y no sabes como hacerlo? tal vez te pasó como a mi que soy un usuario inexperto en GIMP pero con deseos de aplicar de vez en cuando algún filtro especial o que pueda salir de lo común, además de aplicar alguna transparencia o cosas por el estilo que son el pan de cada día. Un amigo programador me pasó el dato de usar las herramientas gmic. Un plugin que se agrega a nuestro GIMP y que lo hace crecer con la amplia variedad de filtros que puedes previsualizar y aplicar, todo al alcance de un par de clics.
Aquí como instalarlo a través de apt-get
sudo apt-get install gmic
Espero les sea de utilidad.
¡Hasta la vista Jave@s!
martes, 14 de enero de 2014
Cambiar fondo de escritorio automáticamente en Ubuntu
Encontré esta entrada fácilmente googleando y la quiero compartir porque se me hace una excelente herramienta para manipular nuestra imagen de fondo de escritorio en nuestra computadora con ubuntu de 12.04 en adelante. Otorgando las herramientas necesarias para agregar ciertos gatgets y poder cambiar de forma automática y periódica nuestro fondo de escritorio, ya sabes, variarle un poco.. ;)
Así de rápido para probar la aplicación les digo que se llama Variety y se instala así:
sudo add-apt-repository ppa:peterlevi/ppa
sudo apt-get update
sudo apt-get install variety
¡¡Saludos javer@s!!
martes, 27 de agosto de 2013
Trucos para búsquedas en Google
La verdad ya es como la n-ésima vez que busco en Google los trucos para usar comodines, palabras exactas, parecidas, etc... y siempre me cuesta trabajo dar con una página clara y concisa a lo que yo necesito. Lo peor, cuando lo vuelvo a ocupar porque mi memoria lo ha olvidado, no doy con esa página que me sacó del apuro y ahí me tienes buscando en Google otra vez como buscar en Google.... jajajaja
Pero no más... aquí una pequeña guía de turcos que encontré y que me resultó bastante útil y práctica, tiene lo necesario. Hoy se adhiere a la bitácora... ¡por fin!
Algunos ejemplos de este tipo de búsquedas son :
"patos" < palabra exacta"patos * feos" < el asterisco funciona como comodín , lo que sea que haya entre esas dos palabraspatos site:www.vidasilvestre.com < Esta que siempre es la que olvido, para buscar una palabra en un sitio determinado.
Y muchas más que pueden encontrar en esta guía...
¡¡Hasta la vista Javer@s!!!
martes, 4 de junio de 2013
"Fatal error: Maximum execution time of 300 seconds exceeded" al cagar archivo grande en MySQL
Clásico error si trabajamos transfiriendo o cargando scripts de bases de datos muy grandes. Los valores en un servidor MySQL por default -- sobre todo si es una máquina de escritorio, laptop o similares de computadoras personales -- suelen estar orientados a requerimientos muy básicos.
Hay varios parámetros que se pueden adecuar en los valores de nuestro servidor MySQL los cuales los podemos cambiar (en mi caso usando ubuntu) en /etc/mysql/my.cnf .
Sin embargo es raro que aparezca el error que arriba comento pero al cargar un archivo dump de MySQL desde consola, ¡¿¿en que endemoniado momento se metió PHP en esto??!
Me sucedió a mi, y por más que cambié los parámetros de MySQL e incluso de PHP (php.ini) no se solucionaba eso. Cargué desde consola, desde el prompt del cliente de MySQL y nada. La línea completa del error al cargar el archivo (que era un archivo grande, alrededor de 500MB, pero vamos, ¡no es para tanto!) era la siguiente:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Fatal error: Maximum execution time of 300 seconds exceeded in /usr/share/phpmya' at line 57
Era un error de MySQL que involucraba extrañamente a PHP. Desesperado fui al archivo en cuestión y en la última linea aparecía el texto tal cual: "Fatal error: Maximum execution time of 300 seconds exceeded in /usr/share/phpmyadmin/libraries/export/sql.php on line 1080" . Pero para llegar a esta solución hubo que batallar un buen rato, todos los blogs halaban de cambiar los parametros de PHP, si como no...
¡PERO SI CLARO!
Había ocurrido un error al crear el archivo dump de la base de datos en el servidor origen y se había imprimido la salida del mismo en el archivo al final, por supuesto.
Entonces volvemos a crear el dump asegurándonos que se genere correctamente (Este error apareció al intentar hacer un dump de una base muy grande a través de PhpMyAdmin, les recomiendo usen el mysqldump desde consola).
Y listo, no debe haber mayor problema al cargar su archivo correcto.. jeje..
Aquí donde encontré la inspiración para la solución a este problema (le pasó lo mismo que a mi). Thanks amigo!
Hasta la vista javer@s
Suscribirse a:
Entradas (Atom)