MySQL Grant All Privileges là các lệnh MySQL được triển khai để cho phép tài khoản người dùng MySQL quản lý và truy cập cơ sở dữ liệu với các đặc quyền phù hợp. Khi chúng tôi cấp đặc quyền cho Tài khoản người dùng MySQL, nó sẽ kiểm soát những thao tác mà người dùng có thể thực hiện
Các đặc quyền này có thể được sử dụng khác nhau ở các cấp độ hoạt động khác nhau
- Đặc quyền quản trị sau đó được áp dụng trên toàn cầu để thực hiện hoạt động của máy chủ MySQL nhưng không được chỉ định cho cơ sở dữ liệu MySQL cụ thể
- Đặc quyền cơ sở dữ liệu có thể được triển khai cho một cơ sở dữ liệu cụ thể hoặc trên toàn cầu cho tất cả các cơ sở dữ liệu máy chủ cùng với tất cả các đối tượng được liên kết của nó trong cơ sở dữ liệu
- Có thể cho phép các đặc quyền đối với các đối tượng cơ sở dữ liệu MySQL, bao gồm chỉ mục, bảng, dạng xem và cả các thường trình được lưu trữ, cho tất cả các đối tượng MySQL thuộc một loại nhất định trong cơ sở dữ liệu hoặc tất cả các bảng cơ sở dữ liệu MySQL hoặc thậm chí cho tất cả các đối tượng thuộc một loại nhất định trong tất cả các cơ sở dữ liệu MySQL
Cú pháp của MySQL Cấp tất cả các đặc quyền
Để sử dụng MySQL Grant All Privileges bởi tài khoản người dùng cho bất kỳ cơ sở dữ liệu MySQL cụ thể nào và thực thi các lệnh MySQL, chúng ta cần áp dụng cấu trúc cú pháp cơ bản sau để cấp quyền
GRANT [ALL | Specific Privilege] [, privilege], .. ON PrivilegeLevel TO AccountName;
Bắt đầu khóa học khoa học dữ liệu miễn phí của bạn
Hadoop, Khoa học dữ liệu, Thống kê và những thứ khác
Cú pháp trên được minh họa bên dưới
Ban đầu, chúng ta phải chỉ định một hoặc nhiều đặc quyền sau từ khóa GRANT. Giả sử sau đó bạn cung cấp nhiều đặc quyền hơn; . Để chứng minh, chúng ta hãy cấp đặc quyền CHỌN trên một bảng có tên 'Sách' trong cơ sở dữ liệu demo trên máy chủ cho tài khoản người dùng MySQL admin@localhost
GRANT SELECT ON Books TO admin@localhost;
Gói khoa học dữ liệu tất cả trong một[360+ khóa học, hơn 50 dự án]
Giá bán
Xem các khóa học
Hơn 360 khóa học trực tuyến. hơn 50 dự án. Hơn 1500 giờ. Giấy chứng nhận có thể kiểm chứng. Truy cập trọn đời
4. 7 [86.408 xếp hạng]
Tài khoản người dùng MySQL bao gồm hai đoạn. tên người dùng và tên máy chủ, như được hiển thị ở trên
Tương tự, các ví dụ minh họa bên dưới sẽ cho bạn thấy cấp INSERT, UPDATE và DELETE giống như nhiều đặc quyền trên bảng Books cho admin@localhost
GRANT INSERT, UPDATE, DELETE ON Books TO admin@localhost;
Một lần nữa, thứ hai, chúng ta cần nêu Cấp độ đặc quyền sẽ xác định cấp độ đặc quyền mà các đặc quyền cấp sẽ được áp dụng
Làm cách nào để cấp tất cả các đặc quyền trong MySQL?
MySQL Grant All Privileges là các câu lệnh quản trị MySQL cấp quyền cho tài khoản người dùng để điều chỉnh và thực thi các hoạt động của MySQL. Khi một người dùng mới tạo một hoặc nhiều tài khoản người dùng bằng cách sử dụng câu lệnh CREATE USER thì người dùng đó sẽ không nhận được bất kỳ đặc quyền nào. Điều này có nghĩa là người dùng MySQL có thể đăng nhập vào máy chủ, nhưng người dùng MySQL không thể thực hiện bất cứ điều gì giống như hoạt động của MySQL, bao gồm các truy vấn như chọn cơ sở dữ liệu MySQL, chèn dữ liệu vào bảng cơ sở dữ liệu và các câu lệnh truy xuất dữ liệu khác từ bảng. Do đó, nếu chúng tôi muốn làm việc với cơ sở dữ liệu MySQL và các đối tượng bao gồm nó, tài khoản người dùng sẽ cần có quyền hoặc đặc quyền tài khoản người dùng để thực hiện bất kỳ hoạt động quản lý hoặc quản trị nào trong máy chủ
Để có tất cả các đặc quyền cho tài khoản người dùng, chúng ta phải sử dụng các câu lệnh MySQL Grant All Privileges để làm việc với các bảng cơ sở dữ liệu và các đối tượng cơ sở dữ liệu khác được truy cập ở các mức đặc quyền khác nhau được xác định như sau
1. Đặc quyền toàn cầu
Điều này áp dụng các đặc quyền toàn cầu cho tất cả các cơ sở dữ liệu MySQL trong máy chủ được biểu thị bằng cú pháp. *. *
Ví dụ
GRANT SELECT ON *.* TO myadmin@localhost;
Tại đây, tài khoản người dùng myadmin@localhost sẽ truy vấn các bản ghi dữ liệu từ tất cả các bảng trong tất cả các cơ sở dữ liệu MySQL có trong máy chủ
2. Đặc quyền cơ sở dữ liệu
Điều này cung cấp các đặc quyền cấp cơ sở dữ liệu cho tất cả các đối tượng cơ sở dữ liệu. Chúng ta cần sử dụng cú pháp ON databasename. *
Ví dụ
GRANT INSERT ON databasename.* TO myadmin@localhost;
3. Đặc quyền bảng
Nó gán các đặc quyền mức bảng cho tất cả các cột của bảng bằng cách sử dụng cú pháp ON tên cơ sở dữ liệu. tablename. Ở đây, nếu chúng ta không thêm tên cơ sở dữ liệu thì MySQL sẽ triển khai cơ sở dữ liệu mặc định và có thể báo lỗi nếu không tìm thấy cơ sở dữ liệu mặc định
Ví dụ
GRANT DELETE ON databasename.tablename TO myadmin@locolhost;
4. Đặc quyền cột
Nó áp dụng cho một hoặc nhiều cột trong bảng cho mọi đặc quyền trong máy chủ
Ví dụ
GRANT SELECT [ColumnName1, COlumnName2,..] UPDATE [ColumnName1] ON TableName TO myadmin@localhost;
5. Đặc quyền thường xuyên được lưu trữ
Mức đặc quyền này áp dụng cho các chức năng và thủ tục thường trình được lưu trữ trong MySQL
Ví dụ
GRANT EXECUTE ON PROCEDURE Procedure_Name TO myadmin@localhost;
Tại đây, chỉ định Thủ tục_Name có trong cơ sở dữ liệu hiện tại
6. Đặc quyền người dùng proxy
Mức đặc quyền này cho MySQL Grant All Privileges cho phép một người trở thành proxy cho những người dùng khác. Tại đây, người dùng proxy nhận được tất cả các đặc quyền của người dùng proxy
Ví dụ
________số 8_______
Ở đây, myadmin@localhost chấp nhận tất cả các đặc quyền của MySQL root
Cần lưu ý rằng việc sử dụng câu lệnh GRANT; . Vì vậy, ví dụ: nếu, trong trường hợp, biến hệ thống chỉ đọc được cho phép, thì người dùng yêu cầu sở hữu đặc quyền SUPER để thực thi câu lệnh GRANT
Ví dụ về MySQL Grant All Privileges
Thông thường, trước tiên chúng ta cần tạo một tài khoản người dùng mới bằng cách sử dụng câu lệnh CREATE USER, sau đó, chúng ta cần tiến hành thêm để cấp tất cả các đặc quyền cho người dùng do người dùng tạo bằng cách sử dụng câu lệnh GRANT
Ban đầu, chúng ta sẽ tạo một tài khoản người dùng trong máy chủ MySQL có tên là myadmin@localhost bằng câu lệnh giống câu lệnh CREATE TABLE
Mã số
CREATE USER myadmin@localhost IDENTIFIED BY 'Adminpass@123';
Sau đó, tiếp theo, chúng ta có thể xem các đặc quyền ban đầu được gán cho tên myadmin@localhost do người dùng tạo bằng cách sử dụng câu lệnh SHOW GRANTS
Mã số
GRANT SELECT ON Books TO admin@localhost;
0
đầu ra
Ở đây, thuật ngữ sử dụng biểu thị rằng người dùng có thể đăng nhập vào máy chủ tài khoản cơ sở dữ liệu nhưng không thể có đặc quyền để thực hiện bất kỳ hành động thao tác nào
Bây giờ, chúng tôi sẽ cho phép tất cả các đặc quyền trong tất cả các cơ sở dữ liệu MySQL trong máy chủ cơ sở dữ liệu hiện tại cho myadmin@localhost bằng cách sử dụng các câu lệnh truy vấn sau
Mã số
GRANT SELECT ON Books TO admin@localhost;
1
Một lần nữa, chúng ta hãy hiển thị và xem các đặc quyền đối với tài khoản người dùng có tên myadmin@localhost bằng cách sử dụng lệnh SHOW GRANT
Mã số
GRANT SELECT ON Books TO admin@localhost;
0
đầu ra
Phần kết luận
MySQL Grant All Privileges cho phép người dùng MySQL cấp tất cả các đặc quyền ở một cấp độ truy cập cụ thể ngoại trừ GRANT OPTION trong cơ sở dữ liệu máy chủ MySQL. Các trình xác định đặc quyền được viết tắt cho tất cả các đặc quyền hiện có ở một cấp đặc quyền cụ thể, cấp tất cả các quyền ở cấp toàn cầu hoặc cấp bảng trong máy chủ MySQL. Do đó, một tài khoản người dùng có thể thực hiện các truy vấn MySQL khác nhau ở các mức đặc quyền khác nhau bằng cách sử dụng MySQL Grant All Privileges
Bài viết được đề xuất
Đây là hướng dẫn về MySQL Grant All Privileges. Ở đây chúng tôi thảo luận về phần giới thiệu, làm thế nào để cấp tất cả các đặc quyền trong MySQL? . Bạn cũng có thể xem các bài viết sau để tìm hiểu thêm –