2012-03-05 3 views
9

Tôi có cơ sở dữ liệu mysql mà tôi tạo người dùng và cấp cho họ chọn, cập nhật, chèn và xóa trên cơ sở dữ liệu cụ thể.Người dùng Mysql có thể chọn từ các bảng nhưng không phải xem

Cơ sở dữ liệu chứa cả bảng và chế độ xem. Vì một số lý do, những người dùng được tạo này gặp phải lỗi sau khi cố gắng chọn từ chế độ xem.

Access denied for user 'someuser'@'%' (using password: YES) 

SELECT * FROM (`someview`) WHERE `somecolumn` = 0 

Tôi không nhận được lỗi này khi chọn từ một bảng trong cùng một cơ sở dữ liệu.

Tôi đã triển khai ứng dụng này cho nhiều địa điểm và nó hoạt động ở mọi nơi khác bao gồm sử dụng các rds amazon. trường hợp cụ thể này là một máy chủ mysql chạy trên amazon ec2.

+0

điều gì sẽ xảy ra nếu bạn cấp quyền chọn rõ ràng trên chế độ xem cho người dùng? – Randy

Trả lời

16

Giải quyết. Thông báo lỗi là gây hiểu nhầm.

Nguyên nhân là người dùng là người hủy bỏ lượt xem không còn tồn tại, không phải người dùng đang chọn từ chế độ xem.

Tôi đã tạo lại người dùng này và tất cả đều tốt.

0

Có nhiều lý do có thể khiến bạn gặp phải điều này:

  • Nó có thể là người dùng mà bạn đã sử dụng để truy cập điều này không có đủ đặc quyền trên bảng đặc biệt này.
  • Có thể tên người dùng hoặc mật khẩu không khớp.
  • Có thể người dùng không tồn tại đối với máy chủ được chỉ định.