2011-09-18 40 views
20

Độ dài tối đa cho mật khẩu người dùng MySQL là bao nhiêu?Độ dài mật khẩu người dùng tối đa của MySQL

Sử dụng MySQL PASSWORD(str) để mã hóa mật khẩu văn bản rõ ràng str. Chuỗi mật khẩu được băm này được lưu trữ trong bảng trợ cấp mysql.user với kiểu dữ liệu CHAR(41).

Tuy nhiên, tôi không thể tìm thấy độ dài tối đa cho mật khẩu văn bản rõ ràng str, nếu có. Có ai giúp được không?

+0

Đây không phải là câu hỏi lập trình. Có lẽ nó tốt hơn trên ServerFault? –

+3

Nó sử dụng chức năng [PASSWORD] (http://dev.mysql.com/doc/refman/5.1/en/encryption-functions.html#function_password) vì vậy tôi đoán nó sẽ là khoảng 2G. – NiematojakTomasz

+3

đây là một câu hỏi lập trình – ErichBSchulz

Trả lời

9

Đây là trang tài liệu tham khảo tôi thấy khi tôi googled: Link1Link2

Nếu bạn đang sử dụng MySQL Replication, lưu ý rằng, hiện nay, một mật khẩu sử dụng bởi một nô lệ sao chép như một phần của một THAY ĐỔI MASTER ĐỂ tuyên bố được giới hạn hiệu quả đến 32 ký tự; nếu mật khẩu dài hơn, mọi ký tự dư thừa sẽ bị cắt bớt. Đây không phải là do bất kỳ giới hạn nào được áp đặt bởi Máy chủ MySQL nói chung, nhưng thay vào đó là một vấn đề cụ thể đối với Nhân rộng MySQL. (Để biết thêm thông tin, xem Bug 43439.)

Fix tài liệu trong 5.7.5 changelog, như sau:

Chiều dài tối đa có thể được sử dụng cho các mật khẩu trong một ĐỔI tổng thể để tuyên bố là 32 ký tự . Trước đây, khi một mật khẩu dài hơn được sử dụng, bất kỳ độ dài vượt quá nào đã bị máy chủ cắt bớt . Bây giờ khi độ dài của mật khẩu vượt quá 32 ký tự, THAY ĐỔI MASTER ĐỂ thất bại với một lỗi.

Vì vậy, tôi giả định rằng mật khẩu của mình không được nhiều hơn 32 ký tự.

+0

Đó sẽ là lỗi _nasty_ để chạy vào. Tôi đồng ý giới hạn độ dài mật khẩu một cách hiệu quả. – Chris

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