Khi tạo MySQL người dùng có mật khẩu tương đối yếu, bạn có thể gặp lỗi ‘ MySQL ERROR 1819 (HY000):Mật khẩu của bạn không đáp ứng các yêu cầu chính sách hiện tại '. Về mặt kỹ thuật, đây không phải là lỗi mà là thông báo rằng bạn đang sử dụng mật khẩu không đáp ứng các yêu cầu chính sách mật khẩu được đề xuất.
Nói cách khác, bạn đang sử dụng một mật khẩu yếu, có thể dễ dàng bị đoán hoặc bị ép buộc. Cơ chế bảo mật tích hợp không khuyến khích người dùng tạo mật khẩu yếu có thể khiến cơ sở dữ liệu của bạn dễ bị vi phạm.
Bài viết có liên quan :Mẹo hữu ích để khắc phục sự cố thường gặp trong MySQLVí dụ:tôi gặp lỗi khi tạo người dùng như được hiển thị
mysql> create user ‘tecmint’@’localhost’ IDENTIFIED BY ‘mypassword’;
Không có gì phải bàn cãi khi mật khẩu quá yếu và có thể gây ra rủi ro bảo mật.
Cách khắc phục lỗi MySQL 1819 (HY000) trong Linux
MySQL cơ sở dữ liệu đi kèm với validate_password plugin mà khi được bật, sẽ thực thi chính sách xác thực mật khẩu. Có 3 cấp chính sách xác thực mật khẩu được thực thi bởi plugin.
- THẤP :Cho phép người dùng đặt mật khẩu có 8 ký tự trở xuống.
- TRUNG BÌNH :Cho phép người dùng đặt mật khẩu có 8 ký tự trở xuống với các chữ hoa và chữ thường lẫn các ký tự đặc biệt.
- MẠNH MẼ :Cho phép người dùng đặt mật khẩu có tất cả các thuộc tính của mật khẩu cấp trung bình với việc bao gồm tệp từ điển.
Theo mặc định, chính sách mật khẩu được đặt thành MEDIUM . Bạn có thể xác nhận cấp chính sách mật khẩu bằng cách thực hiện lệnh:
$ SHOW VARIABLES LIKE 'validate_password%';
Nếu bạn chạy lệnh và nhận được tập hợp đầu ra trống, thì plugin chưa được kích hoạt.
Để bật validate_password plugin, hãy chạy các lệnh bên dưới.
mysql> select plugin_name, plugin_status from information_schema.plugins where plugin_name like 'validate%'; mysql> install plugin validate_password soname 'validate_password.so';
Để xác nhận rằng plugin đã được kích hoạt, hãy chạy lệnh.
mysql> select plugin_name, plugin_status from information_schema.plugins where plugin_name like 'validate%';
Bạn sẽ nhận được đầu ra được hiển thị bên dưới:
Để giải quyết vấn đề, bạn cần đặt chính sách xác thực mật khẩu ở mức thấp nhất. Tôi biết điều này nghe có vẻ phản trực giác vì nó tạo ra một lối thoát cho việc đặt mật khẩu yếu và cuối cùng có thể khiến cơ sở dữ liệu của bạn bị tin tặc xâm nhập.
Tuy nhiên, nếu bạn vẫn khăng khăng muốn làm theo cách của mình, đây là những gì bạn có thể làm.
Cách thay đổi chính sách xác thực mật khẩu MySQL
Để giải quyết MySQL ERROR 1819 (HY000) lỗi, hãy đặt chính sách xác thực mật khẩu thấp hơn như được hiển thị.
mysql> SET GLOBAL validate_password_policy=LOW; OR mysql> SET GLOBAL validate_password_policy=0;
Sau đó, bạn có thể xác nhận cấp chính sách xác thực mật khẩu.
$ SHOW VARIABLES LIKE 'validate_password%';
Bây giờ bạn có thể tiếp tục và chỉ định một mật khẩu tương đối yếu theo ý muốn của mình.
mysql> create user ‘tecmint’@’localhost’ IDENTIFIED BY ‘mypassword’;
Để hoàn nguyên về ‘ MEDIUM Cấp chính sách mật khẩu, chỉ cần gọi lệnh:
mysql> SET GLOBAL validate_password_policy=MEDIUM;
Kết luận
Cá nhân tôi không khuyên bạn nên đặt chính sách mật khẩu cấp thấp hơn vì những lý do rõ ràng. Cho dù đó là người dùng bình thường hay người dùng cơ sở dữ liệu, bạn nên luôn đặt mật khẩu MySQL mạnh với hơn 8 ký tự với sự kết hợp của chữ hoa, chữ thường, số và ký tự đặc biệt.
Hướng dẫn này dành cho những người muốn biết cách điều hướng lỗi như vậy, nếu không, bạn luôn nên đặt một mật khẩu mạnh.