2009-11-02 18 views
11

Tôi sẽ cần tạo người dùng MySQL theo lập trình với các đặc quyền chỉ dành cho db cụ thể. Nói rằng có cơ sở dữ liệu a, b, c và tôi sẽ cần phải tạo người dùng chỉ có quyền đối với B. Tôi chắc chắn nó có thể nhưng googling của tôi đã không thành công. Cảm ơn bạn!MySQL: Tạo người dùng chỉ có quyền đối với một số db

Trả lời

18
grant all 
    on B.* 
to 
    'user'@localhost 
identified by 
    'password' 

Người dùng 'người dùng' bằng mật khẩu 'mật khẩu' hiện có quyền truy cập vào tất cả các bảng trong cơ sở dữ liệu 'B'. (Tất nhiên bạn cần phải chạy truy vấn này với một người dùng priv cao)

+0

Bạn cũng có thể thay đổi "TẤT CẢ" đến một tập hợp lý hơn các đặc quyền nếu nó sẽ được sử dụng bởi một ứng dụng. Hầu hết các ứng dụng web không cần phải tạo, thay đổi, thả bảng. – MarkR

+1

'cấp tất cả trên B. * cho 'người dùng' @ localhost được xác định bằng 'mật khẩu'; 'để sao chép và dán nhanh hơn;) – Ricain

16

bạn có thể thử này

CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'some_pass'; 
grant all privileges on B.* to 'myuser'@'localhost' identified by 'some_pass'; 
+6

Chỉ bằng cách cấp đặc quyền cho người dùng nếu nó không tồn tại nó được tạo. – MTVS

Các vấn đề liên quan