Category Archive Database

Byphunsanit

MySQL / MariaDB: reset root password

ตัว MariaDB หรือ MySQL ถ้าลงไว้นานจนลืมรหัสผ่าน ผู้ดูแลเดิมไม่ได้ทิ้งมรดกเอาไว้ให้ ก็เปลี่ยนรหัสผ่านได้ง่าย ๆ

  1. เช็ค version ก่อนเพราะตัวเก่า ๆ จะใช้คำสั่งที่ต่างกัน
    mysql --version
  2. หยุดการทำงานของพี่มายเอสคิวเอลหรือน้องมาเรียดีบี ที่สามารถใช้คำสั่งของ MySQL ได้เลย ( สองตัวนี้มีผู้ให้กำเนิดเดียวกันแต่แยกมาทำ MySQL เพราะโดน oracle ซื้อไป )
    systemctl stop mysql
    หรือ
    brew services stop mariadb
    จะมีข้อความตอบกลับมาประมาณ
    Successfully stopped mariadb (label: homebrew.mxcl.mariadb)
    เป็นอันใช้ได้
  3. เริ่มดาต้าเบสใหม่โดยให้ข้ามการจัดการสิทธ์ออกไปก่อน
    sudo mysqld_safe --skip-grant-tables
  4. login เข้าระบบโดยใช้
    mysql -u { admin user }
    เช่น
    mysql -u root
  5. โหลดสิทธิ์ใหม่โดย
    FLUSH PRIVILEGES;
  6. ใส่ sql query เข้าไปเปลี่ยนรหัสผ่าน หรือสร้างยูเซอร์ใหม่ เช่น
    UPDATE mysql.user SET authentication_string = PASSWORD('new_password') WHERE User = 'root' AND Host = 'localhost';
  7. เริ่มการทำงานใหม่
    sudo systemctl start mysql
  8. อย่าลืมเทสว่าสิทธิ์ต่าง ๆ กลับมาปกติแล้ว
    mysql -u root -p