Archivo etiqueta BBDD
Setencias MySQL directamente desde la terminal
Hoy he descubierto un modo interesante, y sobretodo ágil para ejecutar sentencias de MySQL directamente en la terminal de comandos del SSOO, sin tener que estar dentro del propio sistemas de gestión de BBDD.
La sentencia en concreto sería:
[root@coloso01:~]# mysql -umiusuario -pmipassword -e 'select * from mi_tabla where fecha > "2009-09-17 17:00:00";' mi_base_de_datos
donde:
- -u: indica el usuario de acceso a la BBDD.
- -p: indica la password de acceso a la BBDD.
El único problema que le veo a esto, es que en el histórico se quedan almacenados tanto el usuario como la password de la BBDD, lo cuál puede ser un agujero de seguridad…
Crear BBDD en mysql, y dar permisos a un usuario
Para crear una base de datos en mysql se utiliza la siguiente sentencia:
mysql> CREATE DATABASE NombreBaseDeDatos;
Para dar permisos a un usuario para que use la base de datos, se utiliza el siguiente comando:
mysql> GRANT ALL ON NombreBaseDeDatos.* TO el_usuario@localhost IDENTIFIED BY "la_password";
mysql> FLUSH privileges;
También hay más formas de hacerlo:
# mysql -u root -p
mysql> CREATE DATABASE moodle;
mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,INDEX,ALTER ON moodle.*
TO moodleuser@localhost IDENTIFIED BY 'yourpassword';
mysql> quit
# mysqladmin -p reload
La diferencia es que la primera forma da todos los privilegios al usuario, y en la segunda se va especificando uno a uno los privilegios que le quieres dar al usuario sobre la BBDD. Además en la primera se aplican los cambios con la sentencia flush y en la segunda con un reload de la BBDD.
Forzar o deshacer “update” en RRDTool
Por yvoictra - Programación - 01/01/2008
RRDTool es una potentísima herramienta cuya función principal es la de almacenar datos en una base de datos que maneja planificación Round-Robin, y cuya finalidad es el almacenamiento temporal de datos, para poder ser mostrados a través de gráficas.

Este software libre sólo permite la inserción de datos en orden cronológico. Esto es, que si has introducido un dato con una marca de tiempo “2008-January-01 00:30:00″ e intentas insertar un dato que sea anterior a este… RRDTool no de permitirá hacer esta operación.
En realidad esto está pensado para que la actualización de datos sea “live” y siempre se actualice con datos ordenados cronológicamente.
Sin embargo, puede interesarte por cualquier circunstancia, deshacer un update o insertar un dato previo al último ya introducido.
He estado investigando y he encontrado 2 opciones para deshacer un update.
- Volver a construir la base de datos y reinsentar los datos sin introducir el valor que queremos deshacer. Esta es la opción más fácil de pensar, pero más costosa de hacer.
- Se puede convertir la base de datos a un formato XML mediante el comando
$ rrdtool dump base_de_datos.rrd base_de_datos.xmlcon lo que obtenemos un fichero que podemos editar, y modificar a nuestro gusto. No es una tarea trivial, y mucho menos si tenemos varias RRA’s… Una vez editado, para poder convertir la base de datos al formato original, usaremos el siguiente comando:$ rrdtool restore base_de_datos.xml base_de_datos.rrdcon lo que conseguimos volver al estado que queramos de la BBDD.
Lo ideal sería no tener que recurrir a esto, pero quizás nos pueda sacar de algún que otro problemilla.