Posts tagged Mysql
Mysql Tip: Probar consultas evitando el cache
0SQL_NO_CACHE es especialmente útil para cuando estas analizando una query lenta que se está cacheando y te impide ver el tiempo que consume en realidad.
SELECT SQL_NO_CACHE id, name FROM customer;
Resetear/recuperar la contraseña del usuario “admin” con phpMyAdmin
7NOTA: esta solución es útil para cualquier sistema que almacene las claves de usuarios en MYSQL por medio de MD5 o SHA1.
Hecha la aclaración, comento el caso concreto de Drupal que nos va a servir de idea para el resto:
Si no te acordás la clave de “admin” en Drupal y tenes acceso a phpMyAdmin, lo único que tenes que hacer es abrir la base de datos, localizar al usuario “admin” dentro de la tabla “users” y editarlo. Una vez que lo tengas abierto tenes que poner la clave nueva en el campo “pass”. Por ultimo solo queda decirle a phpMyAdmin que esa clave la guarde en MD5 (ver imagen).
Listo. Guarda los cambios y accede a tu usuario “admin” como de costumbre.
Drupal 6: devel generate y “Access denied”
0Estas son las cosas que mas me gustan de drupal: Resolver sus “misterios”.
Resulta que estoy haciendo cientos de miles de nodos (no es broma o_O) con el modulo Devel generate para hacer unas pruebas, y cuando los creo de a 10.000 no hay problema, se tarda un huevo en hacerlos pero el batch que lanza este modulo no falla.
Pero la historia cambia cuando quiero dejar haciendo la friolera de 500.000 (quinientos mil) XD.
Bueno Marcelo deja de dar vueltas y decime que carajo pasa que no me anda bien devel generate!: ok, te cuento que resulta que Devel generate tanto como cualquier otro modulo que haga uso de batch, almacena dicho batch en la tabla correspondiente en una sola fila, osea que si son 10 ciclos de batch almacena los diez en una sola fila asi como si son 500.000. El problema se hace evidente en este punto: Me estoy excediendo en el limite que mysql tiene previsto para el envió de packets de datos.
Mysql por defecto viene configurado para recibir por fila 1MB. y esta es la parte donde les muestro esa imagen que vale mas que mil palabras
35.2 MB de batch…
La solución: aumentar el limite que tiene mysql claro
NOTA: ni en broma hagan esto en un servidor de producción salvo que sean un DBA o por lo menos tengan una clara idea de las consecuencias que implica hacer algo asi.
Para aumentar el limite simplemente tenes que seguir estos pasos: Drupal 6 XAMPP Windows XP y “MySQL Server has gone away”
Tip: Restaurar un dump creado por mysql rapidamente
0mysql -uUSUARIO -pCLAVE capy_db < /home/capy/Descargas/dump.sql
-uUSUARIO: nombre del usuario mysql con privilegios sobre la BD
-pCLAVE: clave del usuario
<: indicamos que vamos a lanzar el siguiente SQL sobre la BD
/home/capy/Descargas/dump.sql: Ruta hasta donde tenemos guardado el dump.
ACTUALIZACION: hacer y restaurar DB con gzip
mysqldump -uUSUARIO -pCLAVE BASE_DE_DATOS | gzip -9 > archivo_de_salida.sql.gz
gunzip < archivo_de_salida.sql.gz | mysql -uUSUARIO -pCLAVE BASE_DE_DATOS
Problemas de codificación con MySQL y PHP
0No había tenido un problema asi nunca, pero en uno de los últimos proyectos se dio.
Al recuperar unos registros de la base de datos ya me estaban llegando mal codificados. Así como áóñ.
Buscando y buscando por todos lados encontré una serie de soluciones, y la combinación resultante para solucionar este problemita fue:
- Cambiar la codificación del documento PHP a UTF-8
- En Mysql revisar que las tablas tengan la codificación
utf8_spanish_ci - Antes de <head></head> poner <meta http-equiv=”Content-type” content=”text/html; charset=utf-8″ />
- Todo lo anterior es preventivo. Pero lo que realmente me dio el resultado correcto en las consultas fue poner lo siguiente entes de lanzar la consulta (en la linea que esta justo encima del mysql_db_query()):
mysql_query(“SET NAMES ‘utf8′”);
Y listo, ya me salían bien los caratéres especiales.

