Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

MySQL cấp tất cả các đặc quyền cho cơ sở dữ liệu ngoại trừ một bảng

Tôi biết đây là một bài đăng cũ, nhưng tôi nghĩ rằng tôi sẽ thêm vào câu hỏi @tdammers để những người khác xem. Bạn cũng có thể thực hiện CHỌN CONCAT trên information_schema.tables để tạo các lệnh cấp của bạn và không phải viết một tập lệnh riêng biệt.

Đầu tiên hãy thu hồi tất cả các đặc quyền từ db đó:

REVOKE ALL PRIVILEGES ON db.* FROM [email protected];  

Sau đó, tạo các câu lệnh GRANT của bạn:

SELECT CONCAT("GRANT UPDATE ON db.", table_name, " TO [email protected];")
FROM information_schema.TABLES
WHERE table_schema = "YourDB" AND table_name <> "table_to_skip";

Sao chép và dán kết quả vào máy khách MySQL của bạn và chạy tất cả.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Thay thế để sử dụng từ khóa LIMIT trong SubQuery trong MYSQL

  2. Làm cách nào để lấy kích thước bảng MySQL cho các bảng trong cơ sở dữ liệu?

  3. Cách đơn giản để tính giá trị trung bình với MySQL

  4. Tìm kiếm địa lý (Khoảng cách) trong PHP / MySQL (Hiệu suất)

  5. Cách sử dụng GROUP_CONCAT trong CONCAT trong MySQL