Diferencia entre revisiones de «Usuario BD MySQL»

De Wiki Informatica Gobierno Regional
Ir a la navegación Ir a la búsqueda
(Página creada con «Acerca de MySQL MySQL es un manejador de base de datos de código libre que atyda a los usuarios a almacenar, organizar y recolectar datos. Tiene variedad de opciones para...»)
 
Sin resumen de edición
 
(No se muestra una edición intermedia del mismo usuario)
Línea 1: Línea 1:
Acerca de MySQL
== Acerca de MySQL ==


MySQL es un manejador de base de datos de código libre que atyda a los usuarios a almacenar, organizar y recolectar datos. Tiene variedad de opciones para otorgar a determinados usuarios permisos entre tablas y bases de datos, éste tutorial te dará una pequeña introducción a algunas de estas opciones.
MySQL es un manejador de base de datos de código libre que atyda a los usuarios a almacenar, organizar y recolectar datos. Tiene variedad de opciones para otorgar a determinados usuarios permisos entre tablas y bases de datos, éste tutorial te dará una pequeña introducción a algunas de estas opciones.


¿Cómo crear un nuevo usuario?
=== ¿Cómo crear una nueva base de datos? ===
 
Crear base de datos y usuario con todos los permisos sobre esa y sólo sobre esa base de datos en MySQL.
 
Siempre paso haciendo ésto, pero por más que lo haga una y otra vez siempre se me olvida el SQL de los permisos, por eso lo pongo acá para estar acordándome.
 
Primero, iniciamos una sesión de shell:
 
mysql -u root -p
 
(En humano dice: Inicie MySQL como el usuario root y pregúnteme el password).
 
Luego creamos la base de datos (en éste caso llamada exampledb):
 
CREATE DATABASE exampledb;
 
Ejemplo:
 
CREATE DATABASE gore_devel;
 
=== ¿Cómo crear un nuevo usuario? ===
 
Vamos empezando por crear un usuario nuevo desde la consola de MySQL:
Vamos empezando por crear un usuario nuevo desde la consola de MySQL:


  CREATE USER 'nombre_usuario'@'localhost' IDENTIFIED BY 'tu_contrasena';
  CREATE USER 'nombre_usuario'@'localhost' IDENTIFIED BY 'tu_contrasena';
Ejemplo:
CREATE USER 'gore_devel'@'localhost' IDENTIFIED BY '1234asdf'


Lamentablemente, a este punto el nuevo usuario no tiene permisos para hacer algo con las bases de datos. Por consecuencia si el usuario intenta identificarse (con la contraseña establecida), no será capaz de acceder a la consola de MySQL.
Lamentablemente, a este punto el nuevo usuario no tiene permisos para hacer algo con las bases de datos. Por consecuencia si el usuario intenta identificarse (con la contraseña establecida), no será capaz de acceder a la consola de MySQL.
Línea 12: Línea 38:
Por ello, lo primero que debemos hacer es porporcionarle el acceso requerido al usuario con la información que requiere.
Por ello, lo primero que debemos hacer es porporcionarle el acceso requerido al usuario con la información que requiere.


  GRANT ALL PRIVILEGES ON * . * TO 'nombre_usuario'@'localhost';
  GRANT ALL PRIVILEGES ON [nombre_de_la_base_de_datos].* TO 'nombre_usuario'@'localhost';
 
Ejemplo:
 
GRANT ALL PRIVILEGES ON gore_devel.* to 'gore_devel'@'localhost';


Los asteriscos en este comando hacen referencia a la base de datos y la tabla (respectivamente) a la cual el nuevo usuario tendrá acceso; específicamente este comando permite al usuario leer, editar, ejecutar y realizar todas las tareas en todas las bases de datos y tablas.
Los asteriscos en este comando hacen referencia a la base de datos y la tabla (respectivamente) a la cual el nuevo usuario tendrá acceso; específicamente este comando permite al usuario leer, editar, ejecutar y realizar todas las tareas en todas las bases de datos y tablas.
Línea 22: Línea 52:
Tus cambios ahora surtirán efecto.
Tus cambios ahora surtirán efecto.


¿Cómo otorgar permisos de usuario diferentes?
=== ¿Cómo otorgar permisos de usuario diferentes? ===


Aquí está una pequeña lista del resto de los posibles permisos que los usuarios pueden gozar.
Aquí está una pequeña lista del resto de los posibles permisos que los usuarios pueden gozar.
Línea 54: Línea 84:


  mysql -u [nombre de usuario]-p
  mysql -u [nombre de usuario]-p
== Referencias ==
* http://www.cyberciti.biz/faq/rhel-fedora-centos-httpd-mod_security-configuration/
* http://www.lazos.cl/wiki/Instalaci%C3%B3n_y_configuraci%C3%B3n_de_mod_evasive_en_CentOS_6

Revisión actual - 19:42 5 sep 2016

Acerca de MySQL[editar]

MySQL es un manejador de base de datos de código libre que atyda a los usuarios a almacenar, organizar y recolectar datos. Tiene variedad de opciones para otorgar a determinados usuarios permisos entre tablas y bases de datos, éste tutorial te dará una pequeña introducción a algunas de estas opciones.

¿Cómo crear una nueva base de datos?[editar]

Crear base de datos y usuario con todos los permisos sobre esa y sólo sobre esa base de datos en MySQL.

Siempre paso haciendo ésto, pero por más que lo haga una y otra vez siempre se me olvida el SQL de los permisos, por eso lo pongo acá para estar acordándome.

Primero, iniciamos una sesión de shell:

mysql -u root -p

(En humano dice: Inicie MySQL como el usuario root y pregúnteme el password).

Luego creamos la base de datos (en éste caso llamada exampledb):

CREATE DATABASE exampledb;

Ejemplo:

CREATE DATABASE gore_devel;

¿Cómo crear un nuevo usuario?[editar]

Vamos empezando por crear un usuario nuevo desde la consola de MySQL:

CREATE USER 'nombre_usuario'@'localhost' IDENTIFIED BY 'tu_contrasena';

Ejemplo:

CREATE USER 'gore_devel'@'localhost' IDENTIFIED BY '1234asdf'


Lamentablemente, a este punto el nuevo usuario no tiene permisos para hacer algo con las bases de datos. Por consecuencia si el usuario intenta identificarse (con la contraseña establecida), no será capaz de acceder a la consola de MySQL.

Por ello, lo primero que debemos hacer es porporcionarle el acceso requerido al usuario con la información que requiere.

GRANT ALL PRIVILEGES ON [nombre_de_la_base_de_datos].*  TO 'nombre_usuario'@'localhost';

Ejemplo:

GRANT ALL PRIVILEGES ON gore_devel.* to 'gore_devel'@'localhost';

Los asteriscos en este comando hacen referencia a la base de datos y la tabla (respectivamente) a la cual el nuevo usuario tendrá acceso; específicamente este comando permite al usuario leer, editar, ejecutar y realizar todas las tareas en todas las bases de datos y tablas.

Una vez que has finalizado con los permisos que deseas configurar para tus nuevos usuarios, hay que asegurarse siempre de refrescar todos los privilegios.

FLUSH PRIVILEGES;

Tus cambios ahora surtirán efecto.

¿Cómo otorgar permisos de usuario diferentes?[editar]

Aquí está una pequeña lista del resto de los posibles permisos que los usuarios pueden gozar.

ALL PRIVILEGES: como mencionamos previamente esto permite a un usuario de MySQL acceder a todas las bases de datos asignadas en el sistema.
CREATE: permite crear nuevas tablas o bases de datos.
DROP: permite eliminar tablas o bases de datos.
DELETE: permite eliminar registros de tablas.
INSERT: permite insertar registros en tablas.
SELECT: permite leer registros en las tablas.
UPDATE: permite actualizar registros seleccionados en tablas.
GRANT OPTION: permite remover privilegios de usuarios.

Para proporcionar un permiso a usuario específico, puedes utilizar ésta estructura:

GRANT [permiso] ON [nombre de bases de datos].[nombre de tabla] TO ‘[nombre de usuario]’@'localhost’;

Si deseas darles acceso a cualquier base de datos o tabla, asegurate de insertar un asterisco (8) en lugar del nombre de la base de datos o tabla.

Cada vez que tu actualizas o cambias permisos, asegúrate de refrescar los privilegios mediante FLUSH PRIVILEGES;.

Si necesitas remover un permiso, la estructura es casi idéntica a la que los asigna:

REVOKE [permiso] ON [nombre de base de datos].[nombre de tabla] FROM ‘[nombre de usuario]’@‘localhost’;

Así como puedes borrar bases de datos con DROP, también puedes usar el comando DROP para borrar usuarios:

DROP USER ‘usuario_prueba’@‘localhost’;

Para probar el nuevo usuario, debes cerrar sesión escribiendo quit y volviendo a iniciar sesión con éste comando en la consola:

mysql -u [nombre de usuario]-p


Referencias[editar]