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

Quyền của người dùng MySQL

Hãy xem cách cấp quyền (được gọi là đặc quyền) cho người dùng cơ sở dữ liệu MySQL

Theo mặc định khi bạn tạo người dùng MySQL mới bằng cú pháp

CREATE USER '<username>'@'localhost' IDENTIFIED BY '<password>';

người dùng không thể làm gì nhiều. Chúng tôi có thể nói rằng nó không thể thực sự xảy ra với bất cứ điều gì.

Nó không thể đọc dữ liệu từ bất kỳ cơ sở dữ liệu hiện có nào, chưa nói đến việc sửa đổi dữ liệu. Và nó thậm chí không thể tạo cơ sở dữ liệu mới.

Để yêu cầu người dùng làm bất kỳ điều gì, bạn phải cấp đặc quyền với nó.

Bạn có thể làm như vậy bằng cách sử dụng GRANT lệnh.

Chúng tôi có thể sử dụng GRANT <permission> , sử dụng các từ khóa quyền sau:

  • CREATE
  • DROP
  • DELETE
  • INSERT
  • SELECT
  • UPDATE
  • ALL PRIVILEGES

Cấp đặc quyền tạo cơ sở dữ liệu mới cho người dùng

GRANT CREATE ON *.* TO '<username>'@'localhost';

Cấp đặc quyền cho người dùng để tạo bảng mới trong cơ sở dữ liệu cụ thể

GRANT CREATE ON <database>.* TO '<username>'@'localhost';

Cấp đặc quyền đọc (truy vấn) một cơ sở dữ liệu cụ thể cho người dùng

GRANT SELECT ON <database>.* TO '<username>'@'localhost';

Cấp đặc quyền để đọc một cơ sở dữ liệu cụ thể bảng cho người dùng

GRANT SELECT ON <database>.<table> TO '<username>'@'localhost';

Cấp đặc quyền để chèn, cập nhật và xóa các hàng trong một cơ sở dữ liệu cụ thể để một người dùng

GRANT INSERT, UPDATE, DELETE ON <database>.* TO '<username>'@'localhost';

Cấp đặc quyền xóa bảng trong cơ sở dữ liệu cụ thể cho người dùng

GRANT DROP ON <database>.* TO '<username>'@'localhost';

Cấp đặc quyền xóa cơ sở dữ liệu cho người dùng

GRANT DROP ON *.* TO '<username>'@'localhost';

Cung cấp tất cả đặc quyền trên một cơ sở dữ liệu cụ thể cho người dùng

GRANT ALL PRIVILEGES ON <database>.* TO '<username>'@'localhost';

Cung cấp tất cả các đặc quyền cho người dùng

GRANT ALL PRIVILEGES ON *.* TO '<username>'@'localhost';

Thu hồi đặc quyền

Ví dụ để thu hồi DROP đặc quyền trên <database> :

REVOKE DROP ON <database>.* TO '<username>'@'localhost';

Để thu hồi tất cả các đặc quyền, hãy chạy:

REVOKE ALL PRIVILEGES ON *.* TO '<username>'@'localhost';

Bạn có thể hình dung các đặc quyền của một người dùng bằng cách chạy:

SHOW GRANTS FOR '<username>'@'localhost';

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Các cách tốt nhất để sửa chữa bảng InnoDB bị hỏng trong MySQL

  2. Chuyển đổi giản đồ MySQL sang Github Wiki?

  3. Cách kết nối với MySQL bằng Node.js

  4. Cài đặt nhiều phiên bản MySQL trên máy chủ Linux - sử dụng tệp cấu hình MySQL riêng biệt

  5. lỗi mysql node.js:ECONNREFUSED