2015-06-15 17 views
6

Tôi muốn kết xuất cơ sở dữ liệu của mình với hàm và thủ tục trong mysql workbench. Tôi có thể đổ DB của tôi mà không có chức năng và thủ tục. Nhưng khi tôi cố gắng xuất dữ liệu với các thủ tục, nó cho tôi thấy lỗi như "mysqldump: người dùng không có đủ đặc quyền để hiển thị chức năng tạo tên hàm". Giải quyết vấn đề này như thế nào. xin vui lòng cung cấp cho tôi nếu bạn có ý tưởng. cảm ơn trước.mysqldump: không đủ đặc quyền để hiển thị chức năng tạo tên 'funcation name'

+0

Cố gắng đổ nó như là một người sử dụng gốc với tất cả privilages – Jens

+0

thực sự tôi không thể làm điều đó với thiết bị đầu cuối. vì tôi có một vấn đề khác. khi tôi chạy mysql -u root -p, nó cho tôi thấy lỗi như 'truy cập bị từ chối cho người dùng root @ localhost'. vì vậy mà tôi đã cố gắng trong bàn làm việc – Anitha

Trả lời

17

Để đổ một cơ sở dữ liệu cũng với thủ tục lưu trữ, bạn phải cấp quyền SELECT để mysql.proc:

Execute tuyên bố này một lần như root:

GRANT SELECT ON mysql.proc to 'your-mysqldump-user'; 

Thay của bạn-mysqldump người dùng với tên người dùng thực.

Sau đó tuôn ra những đặc quyền:

FLUSH PRIVILEGES 

Bây giờ bạn sẽ có thể để đổ cơ sở dữ liệu bao gồm các thủ tục lưu trữ với mysqldump người dùng của bạn.

UPDATE: như @ Michael chỉ ra trong các ý kiến, FLUSH PRIVILEGES không nesseccary trong trường hợp này

+1

cho một tuyên bố tài trợ bạn không cần phải tuôn ra đặc quyền. chỉ khi bạn thao tác các bảng đặc quyền trong db với các bản cập nhật – Michael

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