ວິທີການແກ້ໄຂ "MySQL ERROR 1819 (HY000):" ໃນ Linux


ເມື່ອສ້າງຜູ້ໃຊ້ MySQL ດ້ວຍລະຫັດຜ່ານທີ່ຂ້ອນຂ້າງ, ທ່ານອາດຈະພົບຂໍ້ຜິດພາດ 'MySQL ERROR 1819 (HY000): ລະຫັດຜ່ານຂອງທ່ານບໍ່ພໍໃຈກັບຄວາມຕ້ອງການນະໂຍບາຍໃນປະຈຸບັນ'. ທາງດ້ານເຕັກນິກ, ນີ້ບໍ່ແມ່ນຄວາມຜິດພາດ, ແຕ່ເປັນການແຈ້ງເຕືອນວ່າທ່ານ ກຳ ລັງໃຊ້ລະຫັດຜ່ານທີ່ບໍ່ຖືກຕ້ອງຕາມນະໂຍບາຍທີ່ຖືກແນະ ນຳ ໃຫ້ໃຊ້.

ເວົ້າອີກຢ່າງ ໜຶ່ງ, ທ່ານ ກຳ ລັງໃຊ້ລະຫັດຜ່ານທີ່ອ່ອນແອເຊິ່ງສາມາດຖືກຄາດເດົາຫຼືບັງຄັບໃຊ້ໄດ້ງ່າຍ. ກົນໄກຄວາມປອດໄພທີ່ຕິດຕັ້ງມາກໍ່ຂັດຂວາງຜູ້ໃຊ້ຈາກການສ້າງລະຫັດລັບທີ່ອ່ອນແອເຊິ່ງສາມາດເຮັດໃຫ້ຖານຂໍ້ມູນຂອງທ່ານຖືກລະເມີດ.

ຕົວຢ່າງ, ຂ້ອຍໄດ້ເຂົ້າໄປໃນຂໍ້ຜິດພາດໃນເວລາສ້າງຜູ້ໃຊ້ຕາມທີ່ສະແດງ

mysql> create user ‘tecmint’@’localhost’ IDENTIFIED BY ‘mypassword’;

ມັນບໍ່ມີເລີຍວ່າລະຫັດຜ່ານແມ່ນອ່ອນແອທີ່ສຸດແລະສາມາດ ນຳ ສະ ເໜີ ຄວາມສ່ຽງດ້ານຄວາມປອດໄພ.

ວິທີການແກ້ໄຂ MySQL ERROR 1819 (HY000) ໃນ Linux

ຖານຂໍ້ມູນ MySQL ສົ່ງດ້ວຍປັpluginກອິນ validate_password ເຊິ່ງເມື່ອເປີດໃຊ້, ບັງຄັບໃຊ້ນະໂຍບາຍການກວດສອບລະຫັດຜ່ານ. ມີ 3 ລະດັບນະໂຍບາຍການກວດສອບລະຫັດຜ່ານທີ່ຖືກບັງຄັບໃຊ້ໂດຍປັ.ກອິນ.

  • ຕ່ ຳ: ອະນຸຍາດໃຫ້ຜູ້ໃຊ້ຕັ້ງລະຫັດລັບ 8 ຫຼື ໜ້ອຍ ກວ່າໂຕອັກສອນ.
  • MEDIUM: ອະນຸຍາດໃຫ້ຜູ້ໃຊ້ຕັ້ງລະຫັດລັບຈາກ 8 ຕົວຫຼື ໜ້ອຍ ກວ່າໂຕອັກສອນພ້ອມກັບກໍລະນີປະສົມແລະຕົວອັກສອນພິເສດ.
  • ຍາວ: ອະນຸຍາດໃຫ້ຜູ້ໃຊ້ຕັ້ງລະຫັດຜ່ານທີ່ມີຄຸນລັກສະນະທັງ ໝົດ ຂອງລະຫັດຜ່ານລະດັບປານກາງພ້ອມດ້ວຍເອກະສານວັດຈະນານຸກົມ.

ໂດຍຄ່າເລີ່ມຕົ້ນ, ນະໂຍບາຍລະຫັດຜ່ານຖືກຕັ້ງເປັນ MEDIUM. ທ່ານສາມາດຢືນຢັນລະດັບນະໂຍບາຍລະຫັດຜ່ານ, ໂດຍການປະຕິບັດ ຄຳ ສັ່ງ:

$ SHOW VARIABLES LIKE 'validate_password%';

ຖ້າທ່ານປະຕິບັດ ຄຳ ສັ່ງແລະເຮັດໃຫ້ຜົນໄດ້ຮັບທີ່ໄດ້ ກຳ ນົດໄວ້ແລ້ວ, ຫຼັງຈາກນັ້ນປັpluginກອິນຍັງບໍ່ໄດ້ເປີດໃຊ້ງານເທື່ອ.

ເພື່ອເປີດໃຊ້ໂປແກຼມ validate_password, ໃຫ້ ດຳ ເນີນການ ຄຳ ສັ່ງດັ່ງລຸ່ມນີ້.

mysql> select plugin_name, plugin_status from information_schema.plugins where plugin_name like 'validate%';
mysql> install plugin validate_password soname 'validate_password.so';

ເພື່ອຢືນຢັນວ່າປັpluginກອິນຖືກເປີດໃຊ້ງານ, ດຳ ເນີນການ ຄຳ ສັ່ງ.

mysql> select plugin_name, plugin_status from information_schema.plugins where plugin_name like 'validate%';

ທ່ານຄວນໄດ້ຮັບຜົນຜະລິດທີ່ສະແດງຢູ່ດ້ານລຸ່ມ:

ເພື່ອແກ້ໄຂບັນຫາ, ທ່ານ ຈຳ ເປັນຕ້ອງ ກຳ ນົດນະໂຍບາຍການກວດສອບລະຫັດຜ່ານໃຫ້ຢູ່ໃນລະດັບຕໍ່າສຸດ. ຂ້າພະເຈົ້າຮູ້ວ່າສຽງນີ້ເປັນສິ່ງທີ່ບໍ່ ເໝາະ ສົມຍ້ອນວ່າມັນສ້າງຫົນທາງ ສຳ ລັບການຕັ້ງລະຫັດລັບທີ່ອ່ອນແອເຊິ່ງໃນທີ່ສຸດກໍ່ອາດຈະເຮັດໃຫ້ຖານຂໍ້ມູນຂອງທ່ານຖືກແຮັກເກີ້ທີ່ຖືກ ທຳ ລາຍ.

ເຖິງຢ່າງໃດກໍ່ຕາມ, ຖ້າທ່ານຍັງຮຽກຮ້ອງໃຫ້ທ່ານເດີນທາງ, ນີ້ແມ່ນສິ່ງທີ່ທ່ານສາມາດເຮັດໄດ້.

ວິທີການປ່ຽນນະໂຍບາຍການ ນຳ ໃຊ້ລະຫັດຜ່ານຂອງ MySQL

ເພື່ອແກ້ໄຂຂໍ້ຜິດພາດຂອງ MySQL ERROR 1819 (HY000), ກຳ ນົດນະໂຍບາຍການ ນຳ ໃຊ້ລະຫັດຜ່ານທີ່ຕໍ່າກວ່າດັ່ງທີ່ສະແດງໄວ້.

mysql> SET GLOBAL validate_password_policy=LOW;
OR
mysql> SET GLOBAL validate_password_policy=0;

ທ່ານສາມາດຢືນຢັນລະດັບນະໂຍບາຍການ ນຳ ໃຊ້ລະຫັດຜ່ານຂອງລະຫັດຜ່ານ.

$ SHOW VARIABLES LIKE 'validate_password%';

ຕອນນີ້ທ່ານສາມາດ ດຳ ເນີນການແລະ ກຳ ນົດລະຫັດຜ່ານທີ່ຂ້ອນຂ້າງ ໜ້ອຍ ຕາມຄວາມຕ້ອງການຂອງທ່ານ.

mysql> create user ‘tecmint’@’localhost’ IDENTIFIED BY ‘mypassword’;

ເພື່ອກັບຄືນສູ່ລະດັບນະໂຍບາຍລະຫັດຜ່ານ 'MEDIUM', ພຽງແຕ່ຮຽກຮ້ອງ ຄຳ ສັ່ງດັ່ງນີ້:

mysql> SET GLOBAL validate_password_policy=MEDIUM;

ໂດຍສ່ວນຕົວແລ້ວ, ຂ້າພະເຈົ້າບໍ່ແນະ ນຳ ໃຫ້ຕັ້ງນະໂຍບາຍລະຫັດຜ່ານລະດັບຕໍ່າ ສຳ ລັບເຫດຜົນທີ່ຈະແຈ້ງ. ບໍ່ວ່າຈະເປັນຜູ້ໃຊ້ ທຳ ມະດາຫລືຜູ້ໃຊ້ຖານຂໍ້ມູນ, ແນະ ນຳ ໃຫ້ຕັ້ງລະຫັດຜ່ານ MySQL ທີ່ເຂັ້ມແຂງສະ ເໝີ ໄປມີຫລາຍກວ່າ 8 ຕົວອັກສອນພ້ອມດ້ວຍຕົວອັກສອນໃຫຍ່, ຕົວນ້ອຍ, ຕົວເລກແລະຕົວອັກສອນພິເສດ.

ຄຳ ແນະ ນຳ ນີ້ແມ່ນເພື່ອປະໂຫຍດຂອງຜູ້ທີ່ຕ້ອງການຮູ້ວິທີການ ນຳ ທາງຜິດພາດດັ່ງກ່າວ, ຖ້າບໍ່ດັ່ງນັ້ນ, ການຕັ້ງລະຫັດລັບໃຫ້ເຂັ້ມແຂງແມ່ນແນະ ນຳ ສະ ເໝີ.