Làm cách nào để tôi cấp các đặc quyền cụ thể trong mysql?
Bản tóm tắt. trong hướng dẫn này, bạn sẽ học cách sử dụng câu lệnh MySQL 3 để cấp đặc quyền cho tài khoản người dùng Giới thiệu về câu lệnh MySQL GRANT SELECT ON employees TO bob@localhost;Code language: SQL (Structured Query Language) (sql)3Câu lệnh 5 tạo một hoặc nhiều tài khoản người dùng không có đặc quyền. Điều đó có nghĩa là tài khoản người dùng có thể đăng nhập vào Máy chủ MySQL, nhưng không thể làm bất cứ điều gì như chọn cơ sở dữ liệu và truy vấn dữ liệu từ các bảng Để cho phép tài khoản người dùng làm việc với các đối tượng cơ sở dữ liệu, bạn cần cấp đặc quyền cho tài khoản người dùng. Và câu lệnh 3 cấp cho tài khoản người dùng một hoặc nhiều đặc quyền Sau đây minh họa cú pháp cơ bản của câu lệnh 3
Trong cú pháp này Đầu tiên, chỉ định một hoặc nhiều đặc quyền sau từ khóa 3. Nếu bạn cấp nhiều đặc quyền, bạn cần phân tách các đặc quyền bằng dấu phẩy Ví dụ này cấp đặc quyền 9 trên bảng 0 trong cơ sở dữ liệu mẫu cho tài khoản người dùng 1
Ví dụ sau cấp các đặc quyền cho 2, 3 và 4 trên bảng 0 đến 1________số 8 Thứ hai, chỉ định 7 xác định mức độ áp dụng các đặc quyền MySQL hỗ trợ các cấp đặc quyền chính sau Đặc quyền toàn cầu áp dụng cho tất cả các cơ sở dữ liệu trong Máy chủ MySQL. Để gán đặc quyền toàn cục, bạn sử dụng cú pháp 8 chẳng hạn 9 Người dùng tài khoản 1 có thể truy vấn dữ liệu từ tất cả các bảng trong tất cả cơ sở dữ liệu của Máy chủ MySQL hiện tại Đặc quyền cơ sở dữ liệu áp dụng cho tất cả các đối tượng trong cơ sở dữ liệu. Ví dụ, để gán các đặc quyền cấp cơ sở dữ liệu, bạn sử dụng cú pháp ON 90 2 Trong ví dụ này, 1 có thể chèn dữ liệu vào tất cả các bảng trong cơ sở dữ liệu 92 Đặc quyền bảng áp dụng cho tất cả các cột trong bảng. Để gán đặc quyền cấp bảng, bạn sử dụng cú pháp 93 chẳng hạn 6 Trong ví dụ này, 1 có thể xóa các hàng khỏi bảng 0 trong cơ sở dữ liệu 92 Nếu bạn bỏ qua tên cơ sở dữ liệu, MySQL sẽ sử dụng cơ sở dữ liệu mặc định hoặc báo lỗi nếu không có cơ sở dữ liệu mặc định Đặc quyền cột áp dụng cho các cột đơn trong bảng. Bạn phải chỉ định cột hoặc các cột cho mỗi đặc quyền, ví dụ 0 Trong ví dụ này, 1 có thể chọn dữ liệu từ bốn cột 98, 99, 20 và 21 và chỉ cập nhật cột 99 trong bảng 0 Ví dụ, các đặc quyền thường trình được lưu trữ áp dụng cho các thủ tục được lưu trữ và các chức năng được lưu trữ 8 Trong ví dụ này, 1 có thể thực thi thủ tục lưu sẵn 25 trong cơ sở dữ liệu hiện tại Đặc quyền người dùng proxy cho phép một người dùng làm proxy cho người khác. Người dùng proxy có tất cả các đặc quyền của người dùng được ủy quyền. Ví dụ 1 Trong ví dụ này, 26 đảm nhận tất cả các đặc quyền của 27 Cuối cùng, chỉ định tên tài khoản của người dùng mà bạn muốn cấp đặc quyền sau từ khóa 28 Lưu ý rằng để sử dụng câu lệnh 3, bạn phải có đặc quyền 60 và các đặc quyền mà bạn đang cấp. Nếu biến hệ thống 61 được bật, thì bạn cần có đặc quyền để thực thi câu lệnh 3 Ví dụ về câu lệnh MySQL GRANT SELECT ON employees TO bob@localhost;Code language: SQL (Structured Query Language) (sql)3Thông thường, trước tiên bạn sử dụng câu lệnh 65 để tạo tài khoản người dùng mới và sau đó sử dụng câu lệnh 3 để cấp đặc quyền cho người dùng Trước tiên, hãy tạo một người dùng mới có tên là 67 bằng cách sử dụng câu lệnh 65 sau đây 4 Thứ hai, hiển thị các đặc quyền được gán cho 69 bằng cách sử dụng câu lệnh 00 0 _______301 có nghĩa là 67 có thể đăng nhập cơ sở dữ liệu nhưng không có đặc quyền. Thứ ba, cấp tất cả các đặc quyền trong tất cả các cơ sở dữ liệu trong máy chủ cơ sở dữ liệu hiện tại cho 67 1 Thứ tư, sử dụng lại câu lệnh 00 0 Đặc quyền được phép đối với câu lệnh GRANT SELECT ON employees TO bob@localhost;Code language: SQL (Structured Query Language) (sql)3Bảng sau đây minh họa tất cả các đặc quyền được phép mà bạn có thể sử dụng cho câu lệnh 3 và 07PrivilegeMeaningLevelGlobalDatabaseTableColumnStored RoutineProxyALL [PRIVILEGES]Cấp tất cả các đặc quyền ở mức truy cập được chỉ định ngoại trừ 60ALTERCho phép người dùng sử dụng câu lệnh 09XXXALTER ROUTINECho phép người dùng thay đổi và bỏ các thủ tục được lưu trữ hoặc chức năng được lưu trữ. XXXCREATECho phép người dùng tạo cơ sở dữ liệu và bảngXXXCREATE ROUTINECho phép người dùng tạo các thủ tục được lưu trữ và hàm được lưu trữXXCREATE TABLESPACECho phép người dùng tạo, thay đổi hoặc loại bỏ các vùng bảng và nhóm tệp nhật kýXCREATE TEMPORARY TABLESCho phép người dùng tạo bảng tạm thời bằng cách sử dụng câu lệnh 80XXCREATE USERCho phép người dùng sử dụng 81 và 82 . TẠO CHẾ ĐỘ XEM Cho phép người dùng tạo hoặc sửa đổi chế độ xem. XXXDELETECho phép người dùng sử dụng câu lệnh 3XXXDROPCho phép người dùng xóa cơ sở dữ liệu, bảng và chế độ xemXXXEVENTCho phép sử dụng các sự kiện cho Trình lập lịch biểu sự kiện. XXEXECUTECho phép người dùng thực hiện các quy trình được lưu trữXXXFILECho phép người dùng đọc bất kỳ tệp nào trong thư mục cơ sở dữ liệu. TÙY CHỌN XGRANTCho phép người dùng có đặc quyền cấp hoặc thu hồi đặc quyền từ các tài khoản khác. XXXXXINDEXCho phép người dùng tạo hoặc xóa chỉ mục. XXXINSERTCho phép người dùng sử dụng câu lệnh 4XXXXLOCK TABLESCho phép người dùng sử dụng 85 trên các bảng mà bạn có đặc quyền 9XXPROCESSCho phép người dùng xem tất cả các quy trình với câu lệnh 87. XPROXYBật ủy quyền người dùng. THAM KHẢOCho phép người dùng tạo khóa ngoạiXXXXRELOADCho phép người dùng sử dụng câu lệnh 88XREPLICATION CLIENTCho phép người dùng truy vấn để xem vị trí của máy chủ chính hoặc máy chủ phụXREPLICATION SLAVECho phép người dùng sử dụng bản sao nô lệ để đọc các sự kiện nhật ký nhị phân từ máy chủ. XSELECTCho phép người dùng sử dụng câu lệnh 9XXXXSHOW DATABASECho phép người dùng hiển thị tất cả cơ sở dữ liệuXSHOW VIEWCho phép người dùng sử dụng câu lệnh 10XXXSHUTDOWNCho phép người dùng sử dụng lệnh tắt mysqladminXSUPERCho phép người dùng sử dụng các thao tác quản trị khác như lệnh 11, 12, 13, 14 và mysqladminXTRIGGERCho phép người dùng sử dụng các thao tác 15. XXXUPDATECho phép người dùng sử dụng câu lệnh 2XXXXUSAGETương đương với “không có đặc quyền” Trong hướng dẫn này, bạn đã học cách sử dụng câu lệnh MySQL 3 để cấp đặc quyền cho người dùng Làm cách nào để cấp các đặc quyền cụ thể cho người dùng trong MySQL?Câu lệnh GRANT cho phép bạn đặt quyền truy cập MySQL bằng cú pháp sau. mysql> CẤP đặc quyền TRÊN cấp_đặc quyền CHO tên_tài_khoản ; . mysql> LỰA CHỌN CẤP, CHÈN TRÊN Strongdm.
Có thể chỉ định đặc quyền cho mỗi bảng trong MySQL không?Bạn có thể tạo người dùng có quyền cấp bảng trong MySQL bằng cách thực hiện như sau. Kết nối với MySQL với tư cách người dùng bằng Create_user_priv và Grant_priv . Xác định người dùng nào có các đặc quyền này bằng cách chạy truy vấn sau. Người dùng của bạn sẽ cần có đặc quyền CHỌN trên MySQL.
Những tài khoản nào có đặc quyền cụ thể MySQL?Các đặc quyền được sử dụng phổ biến nhất là. . TẤT CẢ CÁC ĐẶC QUYỀN – Cấp tất cả các đặc quyền cho tài khoản người dùng TẠO – Tài khoản người dùng được phép tạo cơ sở dữ liệu và bảng DROP - Tài khoản người dùng được phép bỏ cơ sở dữ liệu và bảng XÓA - Tài khoản người dùng được phép xóa các hàng khỏi một bảng cụ thể |