mysql中的只读表

Dhi*_*pan 7 mysql database

我正在使用mysql数据库.在那里,我有一个表,tbl_user我需要将此更改为每个用户的只读表.如何将表更改为只读?

JaM*_*ing 5

要授予所有用户选择权,请使用public而不是完整的用户列表

REVOKE ALL ON tbl_user FROM PUBLIC
GRANT SELECT ON tbl_user TO PUBLIC
Run Code Online (Sandbox Code Playgroud)


Mr.*_*oor 5

除了撤销权限之外,还有一个办法就是利用trigger

/* 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 ;
Run Code Online (Sandbox Code Playgroud)