Estoy usando la base de datos mysql. En eso tengo una tabla llamada tbl_user
. Necesito cambiar esta tabla como de solo lectura para cada usuario. ¿Cómo cambiar la tabla como de solo lectura?Tabla de solo lectura en mysql
Respuesta
Para conceder a todos los usuarios de selección, el uso público en lugar de una lista de usuarios completa
REVOKE ALL ON tbl_user FROM PUBLIC
GRANT SELECT ON tbl_user TO PUBLIC
Recuerda "GRANT OPTION". TODOS no eliminan el privilegio 'GRANT'. – rogal111
GRANT SELECT ON tbl_user TO user;
GRANT SELECT, INSERT, UPDATE, DELETE ON tbl_user TO user;
utilizar el comando REVOKE
y revocar INSERT/UPDATE/DELETE derechos de esa tabla para el usuario
REVOKE
priv_type [(column_list)]
[, priv_type [(column_list)]] ...
ON [object_type] priv_level
FROM user [, user] ...
Consulte Documentation
Es necesario revocar actualización/modificar los privilegios/donación a esta tabla para todos los usuarios y agregue SELECCIONAR.
REVOKE ALL ON readonly_table FROM tbl_user ;
GRANT SELECT ON readonly_table TO tbl_user;
Si el usuario tiene la opción de concesión de readonly_table ejecutar este:
REVOKE GRANT OPTION ON readonly_table FROM tbl_user;
leer sobre The MySQL Access Privilege System y REVOKE documentation
Además revocar el permiso, otra forma es utilizar el activador
/* triggers */
delimiter //
DROP TRIGGER IF EXISTS stop_table_insert;
CREATE TRIGGER stop_table_insert
BEFORE INSERT ON `table`
FOR EACH ROW
BEGIN
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'Database maintainance';
END;//
DROP TRIGGER IF EXISTS stop_table_update;
CREATE TRIGGER stop_table_update
BEFORE UPDATE ON `table`
FOR EACH ROW
BEGIN
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'Database maintainance';
END;//
DROP TRIGGER IF EXISTS stop_table_delete;
CREATE TRIGGER stop_table_delete
BEFORE DELETE ON `table`
FOR EACH ROW
BEGIN
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'Database maintainance';
END;//
delimiter ;
Este está bien para mí, gracias Sr. Wang^- ^ –
- 1. ¿Cómo hacer una tabla de solo lectura en SQL Server?
- 2. ¿Es posible tratar una tabla como solo lectura en hibernación?
- 3. tabla se 'sólo lectura'
- 4. lectura UTF-8 contenido de la tabla de MySQL
- 5. MySQL: ¿Cómo convertir una base de datos a solo lectura?
- 6. ¿Por qué esta conexión Hibernate MySQL es de solo lectura?
- 7. script para volcar solo registro de la tabla en MySQL
- 8. Mostrando un solo rango en la tabla MySQL
- 9. Solo lectura colección observable
- 10. ¿navegador independiente de solo lectura?
- 11. Editar una vista de solo lectura
- 12. Abrir archivo de solo lectura
- 13. SQLite/PHP de solo lectura?
- 14. Solo lectura de matriz bidimensional en C#
- 15. Ejecutando Solr en modo de solo lectura
- 16. propiedades de solo lectura en PHP?
- 17. Campos de solo lectura en django formset
- 18. propiedad de solo lectura en campo SenchaTouch
- 19. Propiedades de solo lectura en EF 4.1
- 20. Creación de vistas de solo lectura en el servidor Sql
- 21. tabla pivote en mysql
- 22. Solo lectura DB Connection Strings
- 23. Spring @Transactional solo lectura propagación
- 24. Python mmap ctypes - solo lectura
- 25. sql conexión abierta en modo de solo lectura
- 26. Restar valores en MySQL Tabla
- 27. Solo lectura para elementos existentes solo en Django admin inline
- 28. MySQL - Tabla duplicada
- 29. Celdas de solo lectura de DataGridView
- 30. Lista de cadenas de solo lectura
¿Por qué necesita una tabla que no puede ser modificada o editada por ningún usuario? : D –
@Terry Seidler Es una tabla que contiene las credenciales de inicio de sesión para mi aplicación. – Dhileepan