Computer >> Máy Tính >  >> Lập trình >> MySQL

Làm cách nào để ngăn người dùng truy cập một lược đồ cụ thể trong MySQL?

Để ngăn người dùng truy cập một lược đồ cụ thể, bạn cần sử dụng lệnh xóa. Sau đây là cú pháp -

 XÓA khỏi mysql.db TẠI ĐÂU Db TRONG ("yourSpecificSchema", "yourSpecificSchema \ _%") VÀ Người dùng ="yourUserName" VÀ Máy chủ ="yourHostName"; 

Hãy để chúng tôi triển khai cú pháp trên để ngăn người dùng truy cập vào một lược đồ cụ thể. Trước hết, hãy để chúng tôi hiển thị tất cả người dùng và máy chủ lưu trữ từ bảng MySQL.user.

 mysql> chọn người dùng, máy chủ từ MySQL.user; 

Điều này sẽ tạo ra kết quả sau -

 + ------------------ + ----------- + | người dùng | host | + ------------------ + ----------- + | Bob | % || Người dùng2 | % || mysql.infoschema | % || mysql.session | % || mysql.sys | % || gốc | % || Tên người dùng @ @ | localhost || Adam Smith | localhost || Chris | localhost || David | localhost || James | localhost || John | localhost || John Doe | localhost || Người dùng1 | localhost || am | localhost || hbstudent | localhost || mysql.infoschema | localhost || mysql.session | localhost | + ------------------ + ----------- + 18 hàng trong bộ (0,00 giây) 

Ở đây, chúng tôi sẽ ngăn người dùng ‘Chris’ có tên máy chủ là ‘localhost’ truy cập vào một lược đồ cụ thể có tên là "sample" -

 mysql> XÓA khỏi mysql.db TẠI ĐÂU Db IN ("sample", "sample \ _%") AND User ="Chris" AND Host ="localhost"; Truy vấn OK, 0 hàng bị ảnh hưởng (0,00 giây)  

Sau khi thực hiện truy vấn trên, bạn cần sử dụng FLUSH.

 mysql> FLUSH PRIVILEGES; Truy vấn OK, 0 hàng bị ảnh hưởng (0,06 giây)