Esto es un snippet que no tiene mayor complejidad pero que puede venir muy bien para modificar el password de algún usuario de Wordpress desde la consola de MySQL o un PHPMyAdmin. UPDATE `wp_users` SET `user_pass` = MD5('contraseña') WHERE `user_login` = 'usuario' LIMIT 1; … [Read more...] about Cambiar la contraseña de WordPress desde MySQL
MySQL
Mysql – Deshabilitar las restricciones de claves ajenas en InnoDB
InnoDB, en MySQL, aportó en su día lo que muchos esperábamos: cumplir, entre otras cosas, con aquel concepto tan académico de integridad referencial que nos permitía estar seguros de que los datos estaban bien ligados entre ellos (siempre y cuando nuestro diseño fuera acertado, claro está ;-) ) Esto es bastante útil pero da algunas pegas en el día a día del programador. En concreto nos puede pasar que intentemos importar una copia de base de datos sobre una existente y nos encontremos con este error: Cannot delete or update a parent row: a foreign key constraint fails. Lógico, si lo pensamos. Tenemos las relaciones monitorizadas y ya no se puede eliminar al tun tun. ¿Solución? Como estamos restaurando una base de datos entera no queremos mantener ninguno de los datos anteriores por lo que la restricción puede ser obviada sin ningún problema. ¿Forma de hacerlo? Decirle a MySQL que desactive temporalmente la comprobación de la integridad con la siguiente orden: SET … [Read more...] about Mysql – Deshabilitar las restricciones de claves ajenas en InnoDB
Configurar el servidor MySQL con UTF8
Siguiendo con los bricoconsejos para trabajar con MySQL y UTF8, dejo aquí los parámetros que hay que modificar en el fichero de configuración my.cnf para que todo se ejecute por defecto en UTF8. [mysqld] character-set-filesystem=UTF8 character-set-server=UTF8 default-collation=UTF8_general_ci default-character-set=UTF8 [client] default-character-set=UTF8 [mysqldump] default-character-set=UTF8 … [Read more...] about Configurar el servidor MySQL con UTF8
Generar una fecha aleatoria en MySQL
Pego aquí una query para insertar fechas aleatorias en una tabla de MySQL. update mytable set mycolumn = str_to_date( concat( floor(1 + rand() * (12-1)), /* Generate a random month */ '-', floor(1 + rand() * (28 -1)), /* Generate a random day */ '-', '2008' ), '%m-%d-%Y' ); … [Read more...] about Generar una fecha aleatoria en MySQL
PEAR DB_DataObject + MySQL + UTF8
El paquete PEAR::DB_DataObject es uno de mis preferidos. Siempre que puedo lo utilizo en mis proyectos y por ahora con muy buenos resultados. Básicamente me ayuda a clarificar el código ya que paso a tener objetos en vez de registros y propiedades en vez de campos. Por otro lado aprovecho su distribución en sistema de ficheros para codificar la capa de datos, cada método en la clase que hace referencia a la tabla o concepto. Por ejemplo, si tengo un método que marca al usuario como eliminado después de hacer unas comprobaciones previas sé que lo voy a poner en la clase que hace referencia a la tabla 'usuario' con lo que resulta muy cómodo a la hora de mantener el código legible y bien organizado. Además el paquete abstrae el acceso al servidor de forma que puedo cambiar mañana mi aplicación de MySQL a PostgreSQL sin tener que cambiar todas las llamadas a bases de datos. Genial, vaya!!! Pues este paquete tan genial tiene una pequeña carencia con la que me he encontrado … [Read more...] about PEAR DB_DataObject + MySQL + UTF8
Diseño de bases de datos MySQL
Hace años que utilizo DBDesigner4 para realizar mis diseños de bases de datos. Además de ser una herramienta Open Source bajo licencia GPL tiene una potencia y funcionalidad más que suficiente para mis diseños. Para quien no conozca este tipo de herramientas comentar que se trata de aplicaciones que nos permiten diseñar visualmente nuestra base de datos utilizando una notación como por ejemplo el sistema de modelado Entidad Relación Después de realizar tu diseño, DBDesigner4 te permite sincronizarlo contra una base de datos real de forma que se encargará de crear todas las tablas en la misma. Además este proceso lo podrás realizar cada vez que lo necesites con lo cual la aplicación gana valor al permitirte utilizarla como herramienta de mantenimiento sin necesidad de manejarte con scripts y obteniendo una visión global al disponer en pantalla de esquema visual. Os dejo aquí una captura de un diseño hecho con DBDesigner4 Por otro lado MySQL ha sacado por fin su muy esperado … [Read more...] about Diseño de bases de datos MySQL
Copía de seguridad de solo algunas tablas de una base de datos MySQL
Existen varias herramientas cliente para conectarse a una base de datos MySQL, entre ellas PHPMyAdmin. Es una de mis preferidas aunque reconozco que para acceso rápido y sobretodo para lanzar queries me quedo con el cliente en consola de MySQL. El tema es que cuando bajas a consola y te acostumbras luego no puedes soltarlo y entre otras cosas te encuentras con que tienes herramientas tan potentes como mysqldump que te permite realizar copias de seguridad de una base de datos con un control bastante elevado. Yo principalmente lo utilizo para automatizar el proceso de backup y en algunas ocasiones para devolver la aplicación a un estado conocido. Pongamos por caso que necesito hacer unas pruebas sobre una aplicación en fase de test. Se trata, por ejemplo, de operar sobre un expediente que se guarda en varias tablas y a partir del cual debo de generar una factura que a su vez se guarda en varias tablas más. Una vez se ha generado la factura a partir del expediente no puede volverse … [Read more...] about Copía de seguridad de solo algunas tablas de una base de datos MySQL
Entorno WAMP portable
Un WAMP es una combinación de Apache + MySQL + PHP/Perl rodando sobre un Windows de idéntica forma que un LAMP es lo mismo sobre un servidor Linux. Hay varios productos que te permiten instalar esta combinación de forma agrupada sin tener que instalar las piezas por separado lo que en entornos de desarrollo puede ir muy bien. Pues bien, en algunos casos podemos rizar el rizo. Si además de las ventajas obvias añadimos que algunos de estos paquetes no necesitan ni instalación, lo que permite su portabilidad, esto puede convertirse en una panacea. Este es el caso de Uniserver, un WAMP que viene comprimido y que al descomprimir nos permite levantar el entorno o tumbarlo desde dos ficheros bat (start.bat y stop.bat) Pues lo bueno de este entorno es que tiene la ventaja de que cuando acabas de montar tus aplicaciones, con bases de datos, ficheros temporales, etc, etc, puedes copiar el directoro donde lo has descomprimido y llevartelo a cualquier otro ordenador con la certeza de que … [Read more...] about Entorno WAMP portable