Archivo etiqueta base de datos
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.