MySQL Reference Manual có các bước chi tiết về cách đặt lại mật khẩu cho người chủ như sau:
Quy trình trong Windows:
- Đăng nhập vào hệ thống Windows nơi MySQL đang chạy với tư cách Quản trị viên.
- Dừng máy chủ MySQL nếu nó đang chạy. Đối với máy chủ đang chạy dưới dạng dịch vụ Windows, hãy chuyển đến Trình quản lý dịch vụ:
Menu Bắt đầu -> Bảng Điều khiển -> Công cụ Quản trị -> Dịch vụ
Sau đó, tìm dịch vụ MySQL trong danh sách và dừng nó.
Nếu máy chủ của bạn không chạy dưới dạng dịch vụ, bạn có thể cần sử dụng Trình quản lý tác vụ để buộc nó dừng.
- Tạo một tệp văn bản và đặt các lệnh sau trong mỗi tệp trên một dòng:
UPDATE mysql.user SET Password=PASSWORD('MyNewPass') WHERE User='root'; FLUSH PRIVILEGES;
Save the file with any name. For this example the file will be C:\mysql-init.txt.SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPassword');
- Open a console window to get to the DOS command prompt: Start Menu -> Run -> cmd
- If MySQL is installed in C:\mysql. If MySQL is installed in another location, adjust the following commands accordingly.
At the DOS command prompt, execute this command:
C:\> C:\mysql\bin\mysqld-nt --init-file=C:\mysql-init.txt
Nội dung của tệp được đặt tên theo tùy chọn --init-file được thực thi khi khởi động máy chủ, thay đổi mật khẩu gốc. Sau khi máy chủ khởi động thành công, bạn nên xóa C:\ mysql-init.txt.
Nếu bạn đã cài đặt MySQL bằng Trình hướng dẫn cài đặt MySQL, bạn có thể cần chỉ định tùy chọn --defaults-file:
C:\> "C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqld-nt.exe" --defaults-file="C:\Program Files\MySQL\MySQL Server 5.0\my.ini" --init-file=C:\mysql-init.txt
Bạn có thể tìm cài đặt - tệp tin mặc định thích hợp bằng Trình quản lý dịch vụ:
Menu Bắt đầu -> Bảng Điều khiển -> Công cụ Quản trị -> Dịch vụ
Tìm dịch vụ MySQL trong danh sách, nhấp chuột phải vào dịch vụ đó và chọn tùy chọn Thuộc tính. Trường Đường dẫn đến tệp thực thi chứa cài đặt - tệp tin mặc định. Đảm bảo cung cấp đối số --init-file với đường dẫn hệ thống đầy đủ đến tệp, bất kể thư mục làm việc hiện tại của bạn là gì
- Dừng máy chủ MySQL, sau đó khởi động lại nó ở chế độ bình thường. Nếu máy chủ MySQL được chạy dưới dạng dịch vụ, hãy khởi động nó từ cửa sổ Windows Services. Nếu bạn khởi động máy chủ theo cách thủ công, hãy sử dụng bất kỳ lệnh nào bạn thường sử dụng.
- Kết nối với máy chủ MySQL bằng mật khẩu mới. Ngoài ra, hãy nhớ xóa tệp mysql-init.txt khi hoàn tất.
Đối với môi trường Unix và Linux, quy trình đặt lại mật khẩu gốc như sau:
- Đăng nhập vào hệ thống Unix với tư cách là người dùng gốc Unix hoặc với tư cách là người dùng tương tự mà máy chủ mysqld chạy.
- Định vị tệp .pid có chứa ID quy trình của máy chủ. Vị trí và tên chính xác của tệp này phụ thuộc vào bản phân phối, tên máy chủ và cấu hình của bạn. Các vị trí phổ biến là / var / lib / mysql /, / var / run / mysqld / và / usr / local / mysql / data /. Nói chung, tên tệp có phần mở rộng là .pid và bắt đầu bằng mysqld hoặc tên máy chủ của hệ thống.
Dừng máy chủ MySQL bằng cách gửi lệnh kill bình thường (không phải kill -9) tới quy trình mysqld, sử dụng tên đường dẫn của tệp .pid trong lệnh sau:
shell> kill `cat /mysql-data-directory/host_name.pid`
Lưu ý việc sử dụng dấu gạch ngược thay vì chuyển tiếp dấu ngoặc kép với lệnh cat; những điều này khiến đầu ra của cat được thay thế thành lệnh kill.
- Tạo tệp văn bản và đặt lệnh sau trong tệp đó trên một dòng:
UPDATE mysql.user SET Password=PASSWORD('MyNewPass') WHERE User='root'; FLUSH PRIVILEGES;
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPassword');
Lưu tệp với bất kỳ tên nào. Đối với ví dụ này, tệp sẽ là ~ / mysql-init.
- Khởi động lại máy chủ MySQL với tùy chọn --init-file =~ / mysql-init đặc biệt:
shell> mysqld_safe --init-file=~/mysql-init &
Nội dung của tệp init được thực thi khi khởi động máy chủ, thay đổi mật khẩu gốc. Sau khi máy chủ khởi động thành công, bạn nên xóa ~ / mysql-init.
- Khởi động lại máy chủ bình thường. Kết nối với máy chủ MySQL bằng mật khẩu mới.
Ngoài ra, trên bất kỳ nền tảng nào, ứng dụng khách mysql có thể được sử dụng để đặt mật khẩu mới, mặc dù cách đặt lại mật khẩu kém an toàn hơn (hướng dẫn chi tiết tại đây):
- Dừng mysqld và khởi động lại nó với các tùy chọn --skip-Grant -boards --user =root (người dùng Windows bỏ qua phần --user =root).
- Kết nối với máy chủ mysqld bằng lệnh sau:
shell> mysql -u root
- Đưa ra các câu lệnh sau trong máy khách mysql:
mysql> UPDATE mysql.user SET Password=PASSWORD('newpwd') -> WHERE User='root'; mysql> FLUSH PRIVILEGES;
Thay thế 'newpwd' bằng mật khẩu gốc thực tế mà bạn muốn sử dụng.
- Bạn có thể kết nối bằng mật khẩu mới.