เนื่องจาก Ubuntu ติดตั้ง Mysql เวอร์ชันต่างๆ ตามค่าเริ่มต้น ปัญหานี้จะเกิดขึ้น ส่งผลให้คุณไม่รู้ว่ารหัสผ่านบัญชีคืออะไร ส่วนนี้จะแก้ปัญหาให้คุณได้
ขั้นแรก หากคุณเป็นผู้ใช้ทั่วไป (ผู้ใช้รูทสามารถข้ามขั้นตอนนี้ได้) คุณจะต้องค้นหาไฟล์ Mysql ที่บันทึกรหัสผ่านบัญชีเริ่มต้น ไฟล์ debian.cnf ที่อยู่ใต้ /etc/mysql ป้อนไดเร็กทอรีและค้นหาสิ่งต่อไปนี้ ข้อมูล:
โปรดทราบว่ารหัสผ่านจะถูกสร้างขึ้นแบบสุ่มและแตกต่างกันทุกครั้ง หลังจากบันทึก เราจะเริ่มรีเซ็ตรหัสผ่าน
หากคุณเป็นผู้ใช้รูท ให้ป้อน Mysql โดยตรงในเทอร์มินัลเพื่อเข้าสู่ฐานข้อมูล หากคุณเป็นผู้ใช้ทั่วไป ให้ป้อนรหัสผ่านบัญชีในรูปแบบต่อไปนี้เพื่อเข้าสู่ระบบตามรหัสผ่านของบัญชีในขั้นตอนก่อนหน้า
mysql -u ชื่อผู้ใช้ -p รหัสผ่าน
โปรดทราบว่าไม่มีช่องว่างหลัง -u และ -p ถัดจากผู้ใช้และรหัสผ่าน ตัวอย่างเช่น สำหรับรหัสผ่านบัญชีที่นี่ ให้ป้อน:
mysql-udebian-sys-maint-pwcVCVuYlHVHaUrnc
ผลหลังจากเข้าสู่ระบบสำเร็จจะเป็นดังนี้:
เมื่อเห็นช่องนี้ เราก็สามารถป้อนคำสั่ง mysql ต่างๆ ได้ที่นี่ การป้อนคำสั่ง exit จะเป็นการออกจาก mysql และกลับสู่สถานะเทอร์มินัล
ต่อไปเราจะเข้าสู่ mysql:
showdatabases;usemysql;updateusersetauthentication_string=PASSWORD(dotcpp)whereuser='root';updateusersetplugin=mysql_native_password;flushprivileges;quit;
โปรดทราบว่าจะมีเครื่องหมายอัฒภาคหลังแต่ละประโยคเพื่อระบุจุดสิ้นสุดของประโยค โดยที่ dotcpp ระบุรหัสผ่านของผู้ใช้รูท ออกหลังจากดำเนินการตามลำดับ
จากนั้นรีสตาร์ทบริการ Mysql
/etc/init.d/mysqlrestart;
รีเซ็ตรหัสผ่าน Mysql ให้เสร็จสมบูรณ์
เราสามารถใช้รหัสผ่านใหม่โดยตรงเพื่อเข้าสู่ระบบด้วยคำสั่งต่อไปนี้
mysql -u ชื่อผู้ใช้ -p รหัสผ่าน
คุณยังสามารถใช้รหัสผ่านนี้เมื่อเชื่อมต่อกับฐานข้อมูลในโปรแกรม PHP อื่น ๆ ก็เป็นอันเสร็จสิ้น