ວິທີການຕັ້ງຄ່າລະຫັດຜ່ານຮາກໃນ MySQL 8.0


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

ໂຊກດີທີ່ມີຄວາມສາມາດທີ່ຈະບັນລຸໄດ້ງ່າຍແລະບົດແນະ ນຳ ນີ້ຈະ ນຳ ພາທ່ານຜ່ານຂັ້ນຕອນການກູ້ຄືນຫລື ກຳ ນົດລະຫັດລັບຂອງຮາກໃນ MySQL 8.0 ລຸ້ນ ໃໝ່.

ອີງຕາມເອກະສານ MySQL ມີສອງວິທີໃນການຕັ້ງລະຫັດລັບ MySQL ຮາກ. ພວກເຮົາຈະທົບທວນທັງສອງຢ່າງ.

ຕັ້ງລະຫັດຜ່ານ MySQL ຮາກຄືນ ໃໝ່ ໂດຍໃຊ້ -init-file

ວິທີ ໜຶ່ງ ໃນການຕັ້ງຄ່າລະຫັດຜ່ານຮາກແມ່ນການສ້າງເອກະສານທ້ອງຖິ່ນແລະຫຼັງຈາກນັ້ນເລີ່ມຕົ້ນບໍລິການ MySQL ໂດຍໃຊ້ຕົວເລືອກ --init-file ດັ່ງທີ່ສະແດງ.

# vim /home/user/init-file.txt

ມັນເປັນສິ່ງ ສຳ ຄັນທີ່ທ່ານຕ້ອງຮັບປະກັນວ່າເອກະສານສາມາດອ່ານໄດ້ໂດຍຜູ້ໃຊ້ mysql. ພາຍໃນເອກະສານນັ້ນວາງດັ່ງຕໍ່ໄປນີ້:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';

ໃນການປ່ຽນແປງຂ້າງເທິງນີ້“ new_password” ດ້ວຍລະຫັດຜ່ານທີ່ທ່ານຕ້ອງການໃຊ້.

ຕອນນີ້ໃຫ້ແນ່ໃຈວ່າບໍລິການ MySQL ຖືກຢຸດ. ທ່ານສາມາດເຮັດສິ່ງຕໍ່ໄປນີ້:

# systemctl stop mysqld.service     # for distros using systemd 
# /etc/init.d/mysqld stop           # for distros using init

ຫຼັງຈາກນັ້ນ, ດຳ ເນີນການຕໍ່ໄປນີ້:

# mysqld --user=mysql --init-file=/home/user/init-file.txt --console

ນີ້ຈະເລີ່ມຕົ້ນການບໍລິການ MySQL ແລະໃນລະຫວ່າງຂັ້ນຕອນມັນຈະ ດຳ ເນີນການໄຟລ໌ init ທີ່ທ່ານໄດ້ສ້າງແລ້ວດັ່ງນັ້ນລະຫັດຜ່ານ ສຳ ລັບຜູ້ໃຊ້ຮາກຈະຖືກປັບປຸງ. ໃຫ້ແນ່ໃຈວ່າທ່ານຈະລຶບໄຟລ໌ດັ່ງກ່າວເມື່ອລະຫັດຜ່ານຖືກຕັ້ງຄ່າແລ້ວ.

ໃຫ້ແນ່ໃຈວ່າຈະຢຸດ server ແລະເລີ່ມຕົ້ນມັນເປັນປົກກະຕິຫຼັງຈາກນັ້ນ.

# systemctl stop mysqld.service        # for distros using systemd 
# systemctl restart mysqld.service     # for distros using systemd 

# /etc/init.d/mysqld stop              # for distros using init
# /etc/init.d/mysqld restart           # for distros using init

ດຽວນີ້ທ່ານຄວນສາມາດເຊື່ອມຕໍ່ກັບເຊີຟເວີ MySQL ເປັນຮາກໂດຍໃຊ້ລະຫັດລັບ ໃໝ່.

# mysql -u root -p

ຕັ້ງລະຫັດຜ່ານ MySQL ຮາກຄືນ ໃໝ່ ໂດຍໃຊ້ tablesskip-grant-tables

ຕົວເລືອກທີສອງທີ່ພວກເຮົາມີແມ່ນເລີ່ມຕົ້ນໃຫ້ບໍລິການ MySQL ດ້ວຍຕົວເລືອກ --skip-grant-tables . ນີ້ມີຄວາມປອດໄພ ໜ້ອຍ ກວ່າໃນຂະນະທີ່ບໍລິການເລີ່ມຕົ້ນແບບນັ້ນ, ຜູ້ໃຊ້ທຸກຄົນສາມາດເຊື່ອມຕໍ່ໂດຍບໍ່ຕ້ອງໃຊ້ລະຫັດຜ່ານ.

ຖ້າເຊີບເວີຖືກເລີ່ມຕົ້ນ --skip-grant-tables , ຕົວເລືອກ ສຳ ລັບ --skip-networking ຈະຖືກເປີດໃຊ້ໂດຍອັດຕະໂນມັດດັ່ງນັ້ນການເຊື່ອມຕໍ່ທາງໄກຈະບໍ່ສາມາດໃຊ້ໄດ້.

ທຳ ອິດໃຫ້ແນ່ໃຈວ່າບໍລິການ MySQL ຖືກຢຸດ.

# systemctl stop mysqld.service     # for distros using systemd 
# /etc/init.d/mysqld stop           # for distros using init

ຫຼັງຈາກນັ້ນ, ເລີ່ມຕົ້ນການບໍລິການດ້ວຍທາງເລືອກຕໍ່ໄປນີ້.

# mysqld --skip-grant-tables --user=mysql &

ຈາກນັ້ນ, ທ່ານສາມາດເຊື່ອມຕໍ່ກັບເຊີບເວີ mysql ໂດຍພຽງແຕ່ເຮັດວຽກ.

# mysql

ເນື່ອງຈາກການຄຸ້ມຄອງບັນຊີຖືກປິດໃຊ້ງານເມື່ອການບໍລິການຖືກເລີ່ມຕົ້ນດ້ວຍຕົວເລືອກ --skip-grant-tables , ພວກເຮົາຈະຕ້ອງເອົາເງິນຊ່ວຍເຫຼືອຄືນ ໃໝ່. ວິທີນັ້ນພວກເຮົາຈະສາມາດປ່ຽນລະຫັດຜ່ານພາຍຫຼັງ:

# FLUSH PRIVILEGES;

ຕອນນີ້ທ່ານສາມາດ ດຳ ເນີນການສອບຖາມຕໍ່ໄປນີ້ເພື່ອປັບປຸງລະຫັດຜ່ານ. ໃຫ້ແນ່ໃຈວ່າຕ້ອງປ່ຽນ“ new_password” ດ້ວຍລະຫັດຜ່ານທີ່ທ່ານຕ້ອງການໃຊ້.

# ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_passowrd';

ຕອນນີ້ຢຸດ MySQL server ແລະເລີ່ມຕົ້ນປົກກະຕິ.

# systemctl stop mysqld.service        # for distros using systemd 
# systemctl restart mysqld.service     # for distros using systemd 

# /etc/init.d/mysqld stop              # for distros using init
# /etc/init.d/mysqld restart           # for distros using init

ທ່ານຄວນຈະສາມາດເຊື່ອມຕໍ່ກັບລະຫັດລັບ ໃໝ່ ຂອງທ່ານ.

# mysql -u root -p

ທ່ານອາດຈະຢາກອ່ານບົດຄວາມທີ່ກ່ຽວຂ້ອງກັບ MySQL ຕໍ່ໄປນີ້.

<

  • ວິທີການຕິດຕັ້ງ MySQL 8 ໃນ CentOS, RHEL ແລະ Fedora
  • 15 ຄຳ ແນະ ນຳ ໃນການປັບແຕ່ງແລະການເພີ່ມປະສິດທິພາບຂອງ MySQL
  • ທີ່ເປັນປະໂຫຍດ
  • 12 ການປະຕິບັດຄວາມປອດໄພຂອງ MySQL ສຳ ລັບ Linux
  • 4 ເຄື່ອງມືໃສ່ເສັ້ນ ຄຳ ສັ່ງທີ່ມີປະໂຫຍດເພື່ອຕິດຕາມກວດກາການປະຕິບັດງານ MySQL
  • ຄຳ ສັ່ງການບໍລິຫານຖານຂໍ້ມູນ MySQL
  • ໃນບົດຄວາມນີ້ທ່ານໄດ້ຮຽນຮູ້ວິທີການຕັ້ງຄ່າລະຫັດລັບຮາກທີ່ຫາຍໄປ ສຳ ລັບ MySQL 8.0 server. ຂ້ອຍຫວັງວ່າຂັ້ນຕອນນີ້ງ່າຍດາຍ.