2012-06-21 45 views
10

Tôi đang gặp sự cố khi thả bảng tạm thời. Tài khoản người dùng không có đặc quyền 'thả'. Tôi không muốn cấp đặc quyền đó vì lý do bảo mật. Tôi đã cố gắng tìm một đặc quyền như 'thả tạm thời' nhưng không có. Có vẻ như tùy chọn duy nhất là xóa tất cả các câu lệnh 'drop table'. Tôi biết rằng các bảng tạm thời sẽ được tự động giảm sau khi các phiên DB kết thúc. Tuy nhiên, tôi không chắc chắn nếu có bất kỳ tác dụng phụ nào để lại công việc này cho MySQL. Làm ơn cho lời khuyên.Có cần thả các bảng tạm thời trong mysql không?

+0

Như đã đề cập ở đây, http://dev.mysql.com/doc/refman/5.1/en/privileges-provided.html#priv_create-temporary-tables _To giữ đặc quyền cho tạm thời và các bảng tạm thời riêng biệt, một cách giải quyết chung cho tình huống này là tạo ra một cơ sở dữ liệu dành riêng cho việc sử dụng các bảng tạm thời. Sau đó, đối với cơ sở dữ liệu đó, người dùng có thể được cấp đặc quyền TẠO TẠO TẠO TẠO, cùng với bất kỳ đặc quyền nào khác cần thiết cho các hoạt động bảng tạm thời do người dùng đó thực hiện._ – Lucky

Trả lời

15

bảng tạm thời được giảm tự động ngay sau khi bạn ngắt kết nối từ cơ sở dữ liệu

Một bảng TẠM chỉ hiển thị cho các kết nối hiện nay, và được giảm tự động khi kết nối được đóng

http://dev.mysql.com/doc/refman/5.1/en/create-table.html

Vì vậy - tạo chúng, sử dụng và không làm phiền việc xóa của chúng

+1

Nếu bạn sử dụng nhóm kết nối (hikari, c3p0, v.v.) có thể sẽ mở lâu hơn bạn mong đợi, vì vậy hãy cẩn thận. Nó có thể có ý nghĩa để tự thả các bảng tạm thời trong trường hợp đó. – Alden

+1

@Việc tạo cấu hình phần mềm đúng cách có ý nghĩa để mọi thứ hoạt động như mong đợi. Poolers kết nối phải đặt lại kết nối khi ngắt kết nối ứng dụng khách. – zerkms

0

Nó sẽ sử dụng không gian Ram của máy hiện tại. Vì vậy, ý tưởng tốt hơn là thả bảng tạm thời trên bước tiếp theo, khi việc sử dụng của nó là hơn

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