[MySQL] ลืมรหัสผ่าน root ของ MySQL/MariaDB ทำไงดี

[MySQL] ลืมรหัสผ่าน root ของ MySQL/MariaDB ทำไงดี?

ผมเจอปัญหานี้กับตัวเอง เพราะลงโปรแกรมทิ้งไว้นานแล้ว และชีวิตนี้มีรหัสผ่านอีกร้อยแปดพันเก่าที่ต้องจำ สุดท้าย ลืม!!

แล้วจะทำอย่างไรดี?

จากที่ผมลองหาข้อมูลและทดลองปฏิบัติตามมีวิธีง่ายๆ ดังนี้ (แต่ขอบอกก่อนว่าสำหรับเครื่อง DEV น่ะครับ ไม่แนะนำทำบน PRD)

เฉพาะ MySQL version 5.7 ขึ้นไป และ MariaDB version 10 ขึ้นไป ครับ
  1.  หยุด Service MySQL ก่อน ด้วยคำสั่ง "net stop mysql" (run as admin) หรือจะ service.msc ที่ RUN ได้ก็ แล้วหา MySQL service แล้วแต่สะดวกเลย
  2.  สร้างไฟล์ สำหรับ reset password ขึ้นมา แล้ว Copy code ด้านล่างไปใส่ แล้วบันทึกเป็นไฟล์ txt ผมตั้งชื่อ MySQL_reset.txt และบันทึกไว้ที่ Drive C: แล้วกัน.

    MySQL 5.7.6 ขึ้นไป
    ALTER USER 'root'@'localhost' IDENTIFIED BY '[new password]';
    

    MySQL 5.7.5 ลงมา
    SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass');
    
    
  3.  สั่ง Start MySQL ทาง command line ด้วยคำสั่งนี้ (run as admin)

    "C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe" --defaults-file="C:\ProgramData\MySQL\MySQL Server 8.0\my.ini" --init-file=c:\MySQL_reset.txt
  4.  ถือว่าเสร็จสิ้นการ reset password กดปุ่ม [CTL]+C ที่หน้า cmd ได้เลย
  5.  Start service MySQL ให้ทำงานตามปกติ ที่ service.msc หรือจะ command line ก็ได้ "net start mysql" (run as admin)
ถือว่าเสร็จสิ้นครับ




    Flash Drive ขึ้น Readonly + ข้อมูลหาย (จริงๆโดนซ่อนอยู่)


    ใครเคยเจอปัญหานี้บ้าง ... เชื่อว่าหลายคนตกใจเลยครับ เจอแบบนี้เข้าไป
    แต่เดียวก่อนครับ ใจเย็นๆ หากเจอเคสแบบนี้ FlashDrive เราอาจจะไม่ได้เป็นอะไร ถ้าเรายังเปิดได้ และยังพอมีข้อมูลหลงเหลืออยู่ แต่หากเปิดไม่ได้เลย ขึ้นให้ Format ตลอด อันนี้ของจริงครับ ต้องขอ ลาก่อนนนน 555

    ปัญหานี้เกิดจาก Flash Drive เราติดไวรัส  แล้วไอ้ตัวไวรัสมันก็จะทำการซ่อนไฟล์ทั้งหมดใน Flash Drive เราโดนการเอาไปรวมกองกันอยู่ใน Folder ตัวหนึ่งแล้วเปลี่ยนชื่อ Folder ให้ไม่มีชื่อ พร้อมกับ Hidden ไว้ด้วย แล้วมันก็ร้าย สร้าง Short Cut ปลอมๆ ขึ้นมาเพื่อให้เรา หลง Click เข้าไป เพราะมันตั้งชื่อว่า BackUp พร้อมกับไอคอนรูป Hdd ถ้าใครหลงเชื่อ ก็เสร็จ ติดกันไปละครับ

    วิธีแก้ Flash Drive ขึ้น ReadOnly 
    1.  เปิด command prompt หรือ cmd ขึ้นมา โดยสิทธิ์ Administrator วินโดว์ 7+ 
    2. พิมพ์คำสั่ง "diskpart" แล้ว [enter]
    3. พิมพ์คำสั่ง "list disk" แล้ว [enter] แล้วดูว่า Flash Drive เราอยู่ Disk ลำดับที่เท่าไหร่ (1,2,3,...) สังเกตุดูที่ size หาก Flash Drive 8 GB ก็จะขึ้นประมาณ 7 พันกว่า MB
    4. พิมพ์คำสั่ง "select disk # (หมายเลขลำดับ)" แล้ว [enter]
    5. พิมพ์คำสั่ง "attributes disk clear readonly" แล้ว [enter]
    6. พิมพ์ exit แล้ว [enter]
    เท่านี้ก็เรียบร้อยครับ Flash Drive เราก็สามารถสร้าง Files and Folders ได้แล้ว แต่....
    ยังไม่จบครับ เรายังไม่ได้ไฟล์งานเราคืนมา ... เรามากู้ไฟล์ที่ไวรัสซ่อนไว้กัน

    วิธีแก้ Hidden Files ใน Flash Drive 
    1.  เปิด Command Prompt เหมือนเดิมครับ
    2.  พิมพ์ Drive: Label Flash Drive เราได้เลยครับ สังเกตุดูที่ Explorer ได้เลย โดยการ กดปุ่ม [windows]+[E] แล้วจะเห็นว่า Flash Drive เราอยู่ Drive ไหน 
    3. แล้วพิมพ์ "attrib -h -r -s  /S /D" ในหน้าต่าง Command Prompt แล้วกดปุ่ม [enter]
    4. รอจนกว่าจะเสร็จ
    เพียงเท่านี้เราก็จะได้ไฟล์งานเรากลับมาแล้ว แต่ชื่อ Folder มันจะไม่มี ตามที่กล่าวไว้ข้างบน เราก็เปลี่ยนชื่อ Folder ใหม่เลยครับ :)

    มา command line window กันเถอะ

    ผมก็พิมพ์ๆ ไปงั้นๆแหล่ะครับ
    ประเด็น จะบันทึกไว้อ่าน 55+ เอาไปลองกันได้ครับ

    1. Scan Disk
    start->run
    chkdsk /f c:
    2. Disk Defragmenter
    start -> run
    defrag.exe c: -w -f
    3. Stop|Start Service
    start -> run
    net stop|start service_name
    4. List all folder & subfolder name
    start->run
    notepad  แล้วบันทึกเป็น .bat

    @echo off
    cls

    FOR /f "tokens=*" %%G IN ('dir /ad /b /s c:\temp\driver') DO echo %%G
    pause



    credit: http://www.vistax64.com/tutorials/81786-disk-defragmenter-command-prompt.html