Làm thế nào để thay đổi mật khẩu root mysql của tôi trở lại trống rỗng?


43

Khi tôi làm việc tại địa phương, tôi thực sự không cần nhập mật khẩu để truy cập cơ sở dữ liệu của mình. Tôi đã thay đổi mật khẩu gốc khi lần đầu tiên cài đặt mysql, nhưng tôi không biết cách thay đổi mật khẩu của mình. Tôi nên làm gì?

Câu trả lời:


43

Để thay đổi mật khẩu gốc thành newpassword:

 mysqladmin -u root -p'oldpassword' password 'newpassword'

Để thay đổi nó, vì vậy root không yêu cầu mật khẩu:

 mysqladmin -u root -p'oldpassword' password ''

Lưu ý: Tôi nghĩ vấn đề là không có khoảng cách giữa -p'oldpassword'nhưng tôi có thể sai về điều đó


3
tôi tiếp tục gặp lỗi: truy cập bị từ chối cho 'root' @ localhost. Làm thế nào tôi có thể sửa chữa điều này xin vui lòng?
tq

hoạt động với tôi: mysqladmin -u root -p'oldpassword 'password' '@tq: bạn phải gõ chính xác mật khẩu cũ
Bảo Nam

15

Thay vì xóa mật khẩu (có thể gây hậu quả khó chịu trong tương lai nếu bạn tình cờ để máy chủ đó ra ngoài tự nhiên), hãy đặt mật khẩu hiện tại (và tên người dùng của bạn) vào ~/.my.cnf(hoặc có thể là một vị trí tương đương trong Windows) giống như sau:

[client]
user = root
password = s3kr1t

Điều này mang lại cho MySQL khả năng tự động tuyệt vời bằng cách sử dụng thông tin đăng nhập được cung cấp mà không khiến bạn cảm thấy khó chịu trong tương lai.


7
  1. Dừng mysqld và khởi động lại nó với tùy chọn --skip-Grant-bảng .
  2. Kết nối với nó chỉ bằng mysql .
  3. Thay đổi mật khẩu root:

    CẬP NHẬT Mật khẩu mysql.user SET = PASSWORD ('MyNewPass') WHERE User = 'root';

    QUYỀN RIÊNG TƯ;

Để tham khảo: các tài liệu mysql chính thức .


1
Điều này hoạt động nhưng là một cách mạnh mẽ để làm điều đó. Đây là nhiều hơn khi bạn không biết mật khẩu.
David

6

Lưu ý rằng bắt đầu với MySQL 5.7, plugin validate_password được kích hoạt theo mặc định và ngăn bạn sử dụng mật khẩu trống.

Bạn cần tắt plugin này để cho phép mật khẩu trống:

UNINSTALL PLUGIN validate_password;
SET PASSWORD FOR root@localhost = PASSWORD('');

Hãy cẩn thận, trừ khi bạn không quan tâm đến bảo mật, bạn nên làm theo lời khuyên của @ womble và sử dụng mật khẩu, cùng với một .my.cnftệp để thuận tiện.

Kiểm tra bài viết của tôi Xóa mật khẩu root MySQL về chủ đề này!


Đối với các phiên bản> 5.6, đây là cách duy nhất hoạt động. Tôi nghi ngờ rằng nó cũng nên hoạt động trên các phiên bản trước.
Diego

1

Trong các phiên bản mới hơn

UPDATE mysql.user SET authentication_string=PASSWORD('MyNewPass') WHERE User='root'

và điều này sẽ xóa mật khẩu

UPDATE mysql.user SET authentication_string=PASSWORD('') WHERE User='root'
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.