MySQL proporciona permisos ( privilegios ) basado en el nivel de operación del usuario. Privilegios administrativos gestionar el funcionamiento del servidor . Privilegios de base de datos son específicos de las bases de datos y los objetos con los de ellos. Privilegios de objeto se aplican a las tablas , índices, vistas y procedimientos almacenados en la base de datos . Estos privilegios se otorgan a un usuario con el comando GRANT y revocados con el comando REVOKE . Los privilegios
El manual de referencia de MySQL tiene una lista completa de los permisos disponibles . Algunos de los privilegios más comunes son :
TODO privilegio otorga a un usuario el conjunto de privilegios disponibles en un nivel de privilegio dado. A nivel global, el usuario tiene el conjunto completo de los privilegios disponibles . En el nivel de tabla , el usuario sólo tiene los privilegios a nivel de tabla .
El privilegio CREATE permite al usuario crear nuevas bases de datos y tablas.
El privilegio DROP permite al usuario eliminar las bases de datos existentes y tablas.
el privilegio EXECUTE permite a un usuario ejecutar rutinas almacenadas .
el privilegio INSERT permite al usuario insertar registros o datos en una tabla.
el privilegio SELECT permite al usuario utilizar la instrucción SELECT para recuperar datos de tablas.
el privilegio SHOW DATABASE permite al usuario ver los nombres de bases de datos con la declaración SHOW DATABASE .
el privilegio SHUTDOWN permite al usuario cierre la base de datos con el comando " mysqladmin shutdown" .
el comando GRANT
para utilizar el comando GRANT , debe tener los privilegios que desea otorgar a otro usuario y debe tener el permiso GRANT OPTION . Una sentencia GRANT típica es:
GRANT ALL ON * A * 'usuario' @ '% ' WITH GRANT OPTION ;
Esta declaración dice dar " TODOS LOS PRIVILEGIOS " a nivel global. para el usuario " mysql " en todos los hosts con la " GRANT OPTION . "
Si desea que el usuario sólo tiene privilegios en una sola base de datos , se utiliza la "base de datos * . " sintaxis , donde " base de datos " es el nombre de la base de datos . Por ejemplo : .
GRANT SELECT , INSERT en la base de datos * TO ' usuario ' @ ' host ' ;
Para conceder sólo privilegios de tabla , especifique la tabla con la sintaxis " database.table " , tales como:
GRANT ALL ON database.table A 'usuario' @ ' host ' ;
el comando REVOKE
al igual que el comando GRANT , debe tener los privilegios que desea revocar el usuario junto con el permiso GRANT OPTION . Para revocar todos los privilegios de un usuario de la sintaxis sería:
REVOCAR TODOS LOS PRIVILEGIOS , GRANT OPTION FROM ' usuario';
Otras declaraciones REVOKE tienen la misma sintaxis que el comando GRANT . Por ejemplo , para eliminar los privilegios INSERT en una base de datos de un usuario, la declaración sería:
REVOKE INSERT en la base de datos * FROM ' usuario';
Puedes verificar que privilegios han sido. concedido o revocado correctamente con los "VER SUBVENCIONES PARA ' usuario'; " . declaración