Đặc quyền USAGE trong mysql đơn giản có nghĩa là không có đặc quyền nào dành cho người dùng 'phpadmin' @ 'localhost' được xác định ở cấp độ toàn cầu *.*
. Ngoài ra, cùng một người dùng có TẤT CẢ đặc quyền trên cơ sở dữ liệu phpmyadmin phpadmin.*
.
Vì vậy, nếu bạn muốn xóa tất cả các đặc quyền và bắt đầu lại hoàn toàn từ đầu, hãy làm như sau:
-
Thu hồi tất cả các đặc quyền trên cấp cơ sở dữ liệu:
REVOKE ALL PRIVILEGES ON phpmyadmin.* FROM 'phpmyadmin'@'localhost';
-
Thả người dùng 'phpmyadmin' @ 'localhost'
DROP USER 'phpmyadmin'@'localhost';
Quy trình trên sẽ xóa hoàn toàn người dùng khỏi phiên bản của bạn, điều này có nghĩa là bạn có thể tạo lại anh ta từ đầu.
Để cung cấp cho bạn một chút thông tin cơ bản về những gì được mô tả ở trên:ngay sau khi bạn tạo người dùng, mysql.user
bảng sẽ được điền. Nếu bạn nhìn vào một bản ghi trong đó, bạn sẽ thấy người dùng và tất cả các đặc quyền được đặt thành 'N'
. Nếu bạn thực hiện show grants for 'phpmyadmin'@'localhost';
bạn sẽ thấy, kết quả đã nổi tiếng ở trên. Được dịch đơn giản thành "không có đặc quyền ở cấp độ toàn cầu cho người dùng". Bây giờ bạn được cấp ALL
cho người dùng này ở cấp cơ sở dữ liệu, điều này sẽ được lưu trữ trong bảng mysql.db
. Nếu bạn thực hiện SELECT * FROM mysql.db WHERE db = 'nameofdb';
bạn sẽ thấy một 'Y'
trên mọi priv.
Mô tả ở trên cho thấy tình huống bạn có trên db của mình hiện tại. Vì vậy, có một người dùng chỉ có USAGE
đặc quyền có nghĩa là người dùng này có thể kết nối, nhưng bên cạnh SHOW GLOBAL VARIABLES; SHOW GLOBAL STATUS;
anh ấy không có đặc quyền nào khác.