วิธีลบรหัสผ่านรูท MySQL [ปิด]


195

ฉันต้องการลบรหัสผ่านสำหรับผู้ใช้รูทใน localhost ฉันจะทำสิ่งนั้นได้อย่างไร โดยไม่ได้ตั้งใจฉันได้ตั้งรหัสผ่านของผู้ใช้รูท นั่นเป็นเหตุผลที่ phpmyadmin แสดงข้อผิดพลาด:

#1045 - Access denied for user 'root'@'localhost' (using password: NO)


4
ทำไมไม่กำหนดค่า phpMyAdmin ของคุณให้ใช้รหัสผ่านรูทแทน
sisve

2
เอกสารประกอบ MySQL มีคำแนะนำเกี่ยวกับวิธีการรีเซ็ตรหัสผ่านรูทในกรณีที่คุณลืม
Michael Madsen

โปรดทราบว่าเริ่มต้นด้วย MySQL 5.7, รหัสผ่านรูทแบบสุ่มถูกตั้งค่าเป็นค่าเริ่มต้นและคุณไม่สามารถลบมันได้โดยไม่ต้องปิดการใช้งานvalidate_passwordปลั๊กอินก่อน ดูบทความของฉันการลบรหัสผ่าน root ของ MySQLหรือส่วนสำคัญนี้โดยตรง
เบนจามิน

คำตอบ:


360

คุณต้องตั้งรหัสผ่านเพื่อroot@localhostให้ว่าง มีสองวิธี:

  1. SET PASSWORDคำสั่งMySQL :

    SET PASSWORD FOR root@localhost=PASSWORD('');
  2. การใช้mysqladminเครื่องมือบรรทัดคำสั่ง:

    mysqladmin -u root -pType_in_your_current_password_here password ''

1
ฉันจะรีเซ็ตรหัสผ่านสำหรับฐานข้อมูล perticular ได้อย่างไร
น้ำหวาน

4
mysqladmin -u root -pcurrent_password password '' เป็นอีกวิธีในการทำ
crackity_jones

7
ฉันต้องทำmysqladmin -u root -p password ''แล้วใส่รหัสผ่าน
crizCraig

2
@crizCraig อาจเป็นเพราะรหัสผ่านของคุณไม่มีCURRENTPASSWORDอาร์กิวเมนต์ของรหัสผ่าน (ไม่เหมือนอาร์กิวเมนต์อื่น ๆ ) ไม่มีช่องว่างหลังจากนั้น หากคุณไม่ใช้รหัสผ่านระบบจะแจ้งให้คุณป้อนหนึ่งรหัส ( doc )
Jason Sperske

3
@mOna ลองใช้วิธีนี้: 1- ปิด mysql (ปิดบริการหรือฆ่า); 2- สร้างไฟล์ที่มีSET PASSWORD FOR root@localhost=PASSWORD('');ชื่อว่าrestore; 3- โทรmysqld_safe --init-file=path/to/restore; ในที่สุดเข้าสู่ระบบและเปลี่ยนรหัสผ่านอีกครั้งกับสิ่งที่คุณต้องการ
Dario

23

ฉันยังเคยผ่านปัญหานี้

ก่อนอื่นฉันลองตั้งรหัสผ่านของ root เป็น blank โดยใช้คำสั่ง:

SET PASSWORD FOR root@localhost=PASSWORD('');

แต่อย่ามีความสุข PHPMYADMIN ใช้ 127.0.0.1 ไม่ใช่ localhost ฉันรู้ว่าคุณจะบอกว่าทั้งคู่เหมือนกัน แต่ไม่ใช่ในกรณีนี้ให้ใช้คำสั่งที่ระบุไว้ด้านล่างและคุณทำเสร็จแล้ว

SET PASSWORD FOR root@127.0.0.1=PASSWORD('');

เพียงแค่แทนที่ localhost ด้วย 127.0.0.1 และคุณทำเสร็จแล้ว


3
ตั้งรหัสผ่านสำหรับ root @ localhost = PASSWORD (''); ทำงานให้ฉัน
workdreamer
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.