ค้นหาเว็บไซต์

วิธีรีเซ็ตรหัสผ่านรูท MySQL หรือ MariaDB ใน Linux


หากคุณกำลังตั้งค่าเซิร์ฟเวอร์ฐานข้อมูล MySQL หรือ MariaDB เป็นครั้งแรก มีโอกาสที่คุณจะเรียกใช้ mysql_secure_installation หลังจากนั้นไม่นานเพื่อใช้การตั้งค่าความปลอดภัยพื้นฐาน

หนึ่งในการตั้งค่าเหล่านี้คือรหัสผ่านสำหรับบัญชีรูทฐานข้อมูล ซึ่งคุณจะต้องเก็บไว้เป็นส่วนตัวและใช้เมื่อจำเป็นเท่านั้น หากคุณลืมรหัสผ่านหรือจำเป็นต้องรีเซ็ตรหัสผ่าน (เช่น เมื่อผู้ดูแลระบบฐานข้อมูลเปลี่ยนบทบาท หรือถูกเลิกจ้าง!)

แนะนำให้อ่าน: เปลี่ยนรหัสผ่านรูท MySQL หรือ MariaDB

บทความนี้จะมีประโยชน์ เราจะอธิบายวิธีรีเซ็ตหรือกู้คืนรหัสผ่านรูท MySQL หรือ MariaDB ที่ถูกลืมใน Linux

แม้ว่าเราจะใช้เซิร์ฟเวอร์ MariaDB ในบทความนี้ แต่คำแนะนำก็ควรใช้ได้กับ MySQL เช่นกัน

กู้คืนรหัสผ่านรูท MySQL หรือ MariaDB

ในการเริ่มต้น ให้หยุดบริการฐานข้อมูลและตรวจสอบสถานะการบริการ เราควรเห็นตัวแปรสภาพแวดล้อมที่เราตั้งค่าไว้ก่อนหน้านี้:


------------- SystemD ------------- 
systemctl stop mariadb

------------- SysVinit -------------
/etc/init.d/mysqld stop

ถัดไป เริ่มบริการด้วย --skip-grant-tables:


------------- SystemD ------------- 
systemctl set-environment MYSQLD_OPTS="--skip-grant-tables"
systemctl start mariadb
systemctl status mariadb

------------- SysVinit -------------
mysqld_safe --skip-grant-tables &

สิ่งนี้จะช่วยให้คุณสามารถเชื่อมต่อกับเซิร์ฟเวอร์ฐานข้อมูลในฐานะรูทโดยไม่ต้องใช้รหัสผ่าน (คุณอาจต้องเปลี่ยนไปใช้เทอร์มินัลอื่นเพื่อดำเนินการดังกล่าว):


mysql -u root

จากนั้นให้ทำตามขั้นตอนที่อธิบายไว้ด้านล่าง


MariaDB [(none)]> USE mysql;
MariaDB [(none)]> UPDATE user SET password=PASSWORD('YourNewPasswordHere') WHERE User='root' AND Host = 'localhost';
MariaDB [(none)]> FLUSH PRIVILEGES;

สุดท้าย ให้หยุดบริการ ยกเลิกการตั้งค่าตัวแปรสภาพแวดล้อม และเริ่มบริการอีกครั้ง:


------------- SystemD ------------- 
systemctl stop mariadb
systemctl unset-environment MYSQLD_OPTS
systemctl start mariadb

------------- SysVinit -------------
/etc/init.d/mysql stop
/etc/init.d/mysql start

ซึ่งจะทำให้การเปลี่ยนแปลงก่อนหน้านี้มีผล ทำให้คุณสามารถเชื่อมต่อกับเซิร์ฟเวอร์ฐานข้อมูลโดยใช้รหัสผ่านใหม่ได้

สรุป

ในบทความนี้ เราได้กล่าวถึงวิธีรีเซ็ตรหัสผ่านรูท MariaDB/MySQL เช่นเคย โปรดใช้แบบฟอร์มความคิดเห็นด้านล่างเพื่อแจ้งให้เราทราบหากคุณมีคำถามหรือข้อเสนอแนะ เราหวังว่าจะได้ยินจากคุณ!