Posted by
h1pp1e on
MySQL
Ivan y Andrii
La comunidad de MySQL está unida por un noble propósito. Dejando a un
lado
sus habituales diferencias sobre los ciclos de liberación y de la
filosofía, la comunidad está unida para ayudar al hijo de Andrii
Nikitin, un ingeniero de soporte de MySQL, para superar el difícil reto
de financiar un trasplante de médula ósea.
El proyecto de MySQL ha hecho su sitio para ayudar a recaudar los fondos que sean
posibles. Una joven la vida está en peligro, y muchas personas de
dentro y fuera de la empresa han donado para Iván.
Aqui el link para ver la nota y hacer la donacion
http://www.mysql.com/about/help-ivan.html vamos geeks ayudemos a esta noble causa.
Posted by
h1pp1e on
personal
El dia de hoy, por un descuido que tuve fue a dar directo agua hirviendo, no me fue tan tan mal pero si arde mucho no paso de una quemadura de primer grado y una gran ampolla aunque, en fin aqui la foto de mi brazo con pomada para evitar inflamaciones y ayudar a que mejore qu eme pusieron en la cruz verde.
Posted by
h1pp1e on
MySQL
Este es un pero tip para ajustar las zonas horarias en
MySQL, asi como para poder hacer uso correctamente de la funcion
CONVERT_TZ() primero se debe hacer la importacion de las zonas horarias con el comando
mysql_tzinfo_to_sql la importacion se realiza de la siguiente manera:
mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql
El comando anterior busca todas las configuraciones de zonas horaris en el servidor y las importa a la base de datos de mysql. Tambien se puede hacer la importacion de una sola zona horaria:
mysql_tzinfo_to_sql tz_file tz_name | mysql -u root -p mysql
donde
tz_file es el archivo que contiene la informacion de la zona horaria y donde
tz_name es el nombre que se le asigna a la zona horaria.
En caso de que no cuenten con alguna zona horaria que necesiten pueden descargarla desde
http://dev.mysql.com/downloads/timezones.html .
Para definir una zona horaria por default en nuestro servidor solo es necesario agregar esta linea a nuestro my.cnf
default-time-zone = 'zona_horaria';
ejemplo mexico:
default-time-zone = "America/Mexico_city";
Para ver las zonas horarias que tenemos disponibler realizar la siguiente consulta:
SELECT Name FROM mysql.time_zone_name;
Para realizar cambios de zona horaria en una coneccion se realiza desde la consola de MySQL la siguiente o peracion:
SET time-zone = zona_horaria;
ejemplo mexico:
SET time-zone = America/Mexico_city;
Una vez que ya tenemos cargadas las zonas podemos hacer operaciones como conversiones de fechas a otras zonas horarias, ejemplo:
SELECT now(), convert_tz(now(), 'America/Mexico_city', 'Africa/Asmara');
+---------------------+-----------------------------------------------------------+
| now() | convert_tz(now(), 'America/Mexico_city', 'Africa/Asmara') |
+---------------------+-----------------------------------------------------------+
| 2008-07-07 20:34:25 | 2008-07-08 04:34:25 |
+---------------------+-----------------------------------------------------------+
Espero este pequeño articulo les sea de utilidad.
Saludos.
Posted by
h1pp1e on
personal
Extra, extra!! El dia de hoy mi amigo
Josue (a.k.a blacknash) me entrego la tan esperada nueva piel de mi blog, la cual me la habia prometido hace varios ayeres ...
Me gusta mucho lo que hizo con mi blog, se ve fresco, y divertido. El blog cuenta con una seccion dinamica en la que lee mi feed de twitter y pone mi ultimo twitt y de alli toma mi estado de animo con emoticons, para los despitados es la carita del header.
Esta funcion la hace utilizando
php y
meteora.
Ahora espero cumplir mi parte de postear mas seguido

esa fue parte del trato, que debo de postear almenos una vez a la semana cosas de mysql

.
Saludos
P.D. dejen su comentario sobre que les parece esta piel.
Posted by
h1pp1e on
MySQL
Esta es la segunda entrega de la columna de mysql.
A partir de la versión 5.0.2 de MySQL se incorporo el soporte básico para los triggers. Los triggers son un objeto dentro de la base de datos el cual esta asociado a una tabla y este es ejecutado al ocurrir un evento en la tabla. Los eventos en los que es ejecutados los trigger son: INSERT, UPDATE, DELETE pero se debe especificar si queremos que sea antes "BEFORE" o después "AFTER" de alguna de estas tres acciones, sin mas rollo vayamos directo al código, la sintaxis para crear un trigger es la siguiente:hoy abordaremos el tema de los "triggers" (disparadores) .
CREATE TRIGGER nombre_trigger momento_ejecucion_evento ON nombre_tabla
FOR EACH ROW BEGIN
sentencias_trigger
END
nombre_trigger : es el nombre con el cual será identificado el objeto en la base de datos.
momento_ejecucion _ evento : puede ser BEFORE (antes) o AFTER (después) para indicar al trigger que se ejecute antes o después del evento que lo activa.
nombre_tabla : Indica el nombre de la tabla a la que estará asociado el trigger. Esta debe ser una tabla permanente, no puede ser una tabla temporaty o una vista.Veamos algunos ejemplos sencillos de las tablas.
Primero crearemos un par de tablas para pruebas.
CREATE TABLE suma_multiplica(n1 INT, n2 INT, suma INT, multiplicacion INT);
Al agregar 2 números (n1, n2) a la tabla suma_multiplica esta deberá ser capaz de realizar la suma de los dos números así como de la multiplicación de los mismos e insertar los resultados en sus respectivos campos suma, multiplicacion.
Solución:
DELIMITER //
CREATE TRIGGER tgr_suma_multiplica BEFORE INSERT ON suma_multiplica
FOR EACH ROW BEGIN
SET NEW.suma = NEW.n1+ NEW.n2;
SET NEW.multiplicacion = NEW.n1 * NEW.n2;
END//
DELIMITER ;
Una vez creada la tabla y el trigger realicemos un par de inserciones de datos para ver el resultado:
INSERT INTO suma_multiplica (n1, n2) VALUES (2,5),(10,4),(4,5),(6,6),(8,20);
Ahora executemos un select a la tabla suma_multiplica para ver el resultado generado:
SELECT * FROM suma_multiplica;
Los triggers nos permiten tener acceso a las columnas de las tablas mediate los prefijos NEW y OLD , donde NEW hace referencia a los datos nuevos que seran ingresados en la tabla y donde OLD hace referencia a los datos actuales que seran modificados.
INSERT tenemos disponible solamente NEW . columna .
UPDATE cuenta con OLD . columna y NEW . columna .
DELETE solo cuenta con OLD . columna .
Con estros prefijos podremos realizar manipulaicion de datos.
Como nota final hay que recordar que no podemos asignar dos triggers en un mismo tiempo de ejecucion y mismo evento, y aque actualmente no estan soportados.
Posted by
h1pp1e on
MySQL
A partir de hoy y una o dos veces por semana escribire una columna dedicada a MySQL. Esta columna sera a manera de mini tutoriales para solucionar diversas problematicas como va desde hacer un trigger, un cursor, un procedimiento almacenado, una funcion, utilizar vistas, realizar idexaciones, optimizar bases de datos, entro otras muchas cosas que tengo alojadas entre mis dos orejas. Para iniciar con esta columna el primer articulo que escribire sera sobre como recuperar la cotraseña de root.
Recuperando la contraseña del root.
Primero es necesario tener root o algun usuario en el servidor con los priviliegios suficientes para detener e iniciar el servidor.
Después hay que detener el proceso actual que se este ejecutando de MySQL.
Una vez detenido crear un archivo de texto el cual va a contener la siguiente instrucción:
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('password_nuevo_de_root');
Guarde el archivo con cualquier nombre. para casos de ejemplo utlizaremos el nombre de: mysql-restaura-password
Por ultimo reinicie el servidor MySQL con la opción -init-file=/ruta/archivo/mysql-restaura-password
mysqld_safe --init-file=/ruta/archivo/mysql-restaura-password &
Los contenidos del archivo son ejecutados al inicio del servidor, cambiando la contraseña de root.
nota final no olvide borrar el archivo mysql-restaura-password ya que no hacerlo puede ser un problema de seguridad