Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การแก้ไขปัญหา >> Mac

รักษาความปลอดภัย MySQL บน macOS: วิธีรีเซ็ตรหัสผ่าน Root ให้ง่ายขึ้น

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

วิธีที่ 1: ใช้คำสั่ง mysql_secure_installation

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

ขั้นตอน:

  1. เปิด Terminal พิมพ์: mysql_secure_installation
  2. ตอบคำถามตามนี้:
    • Change the root password? [Y/n] → y
    • New password: → ใส่รหัสผ่าน root ใหม่
    • Re-enter new password: → ยืนยันรหัสผ่าน
    • Remove anonymous users? [Y/n] → y
    • Disallow root login remotely? [Y/n] → y
    • Remove test database and access to it? [Y/n] → y
    • Reload privilege tables now? [Y/n] → y

รักษาความปลอดภัย MySQL บน macOS: วิธีรีเซ็ตรหัสผ่าน Root ให้ง่ายขึ้น

รักษาความปลอดภัย MySQL บน macOS: วิธีรีเซ็ตรหัสผ่าน Root ให้ง่ายขึ้น

หมายเหตุ: ข้อผิดพลาดที่พบบ่อยคือรหัสผ่านว่าง ต้องระบุ root password ตอนเชื่อมต่อ: mysqladmin -u root -pROOT-PASSWORD

วิธีที่ 2: ใช้คำสั่ง mysqladmin

  1. เปิด Terminal พิมพ์: mysqladmin -u root password newpass
  2. ใส่รหัสผ่านเมื่อถาม

รักษาความปลอดภัย MySQL บน macOS: วิธีรีเซ็ตรหัสผ่าน Root ให้ง่ายขึ้น

สำคัญ: คำว่า "password" ในคำสั่งเป็นส่วนหนึ่งของคำสั่ง — อย่าแทนที่ด้วยรหัสผ่านของคุณ ใส่รหัสผ่านใหม่ในตำแหน่ง "newpass" แทน

หากเจอข้อผิดพลาด: mysqladmin: connect to server at 'localhost' failed error: 'Access denied for user 'root'@'localhost' (using password: YES)' ให้ดูวิธีกู้รหัสผ่าน MySQL ด้านล่าง

รักษาความปลอดภัย MySQL บน macOS: วิธีรีเซ็ตรหัสผ่าน Root ให้ง่ายขึ้น

รีเซ็ตรหัสผ่าน Root MySQL ที่ลืม (บน Mac)

การรีเซ็ตไม่ยาก แต่วิธีการแตกต่างตามเวอร์ชัน MySQL

ขั้นตอน:

  1. หยุด MySQL Server: ไป System Preferences ▸ MySQL ▸ กด Stop MySQL Server
    หรือใช้ Terminal: service mysql stop

    รักษาความปลอดภัย MySQL บน macOS: วิธีรีเซ็ตรหัสผ่าน Root ให้ง่ายขึ้น

    รักษาความปลอดภัย MySQL บน macOS: วิธีรีเซ็ตรหัสผ่าน Root ให้ง่ายขึ้น

    รักษาความปลอดภัย MySQL บน macOS: วิธีรีเซ็ตรหัสผ่าน Root ให้ง่ายขึ้น

  2. เริ่มเซิร์ฟเวอร์ในโหมดปลอดภัย (bypass สิทธิ์): ใน Terminal พิมพ์:
    sudo /usr/local/mysql/bin/mysqld_safe --skip-grant-tables

    รักษาความปลอดภัย MySQL บน macOS: วิธีรีเซ็ตรหัสผ่าน Root ให้ง่ายขึ้น

  3. เชื่อมต่อ MySQL client: เปิด Terminal ใหม่ พิมพ์ทีละบรรทัด:
    mysql -u root

    รักษาความปลอดภัย MySQL บน macOS: วิธีรีเซ็ตรหัสผ่าน Root ให้ง่ายขึ้น

  4. ตั้งรหัสผ่าน root ใหม่: คำสั่งขึ้นกับเวอร์ชัน MySQL
    • MySQL 5.7.5 หรือเก่ากว่า: ใช้คำสั่ง UPDATE user SET authentication_string=PASSWORD('newpass') WHERE User='root';
    • MySQL 5.7.6 ขึ้นไป: ใช้คำสั่ง ALTER USER 'root'@'localhost' IDENTIFIED BY 'newpass';

    รักษาความปลอดภัย MySQL บน macOS: วิธีรีเซ็ตรหัสผ่าน Root ให้ง่ายขึ้น

    รักษาความปลอดภัย MySQL บน macOS: วิธีรีเซ็ตรหัสผ่าน Root ให้ง่ายขึ้น

  5. หยุด MySQL server: killall mysqld

    รักษาความปลอดภัย MySQL บน macOS: วิธีรีเซ็ตรหัสผ่าน Root ให้ง่ายขึ้น

  6. เริ่ม MySQL ใหม่และทดสอบ:

    รักษาความปลอดภัย MySQL บน macOS: วิธีรีเซ็ตรหัสผ่าน Root ให้ง่ายขึ้น

สรุปข้อสำคัญ

MySQL ใช้งานได้โดยไม่มีรหัสผ่าน แต่เพื่อความปลอดภัย ควรตั้งรหัสผ่าน root หากลืม รหัสผ่านก็กู้คืนได้ไม่ยากบน Mac — ใช้คู่มือนี้เป็นแนวทาง