Xử lý khi quên mật khẩu MySQL – Reset MySQL Password

Reset MySQL password

Lâu lâu không chịu nhớ mật khẩu MySQL, toàn ghi chú rồi copy – paste, giờ lỡ tay làm mất cái file lưu pass nên lại phải reset lại mật khẩu. Làm cái note này để ghi chú lại. :D

Yêu cầu để có thể thực hiện:

Bạn phải có quyền thực thi commandline trên hệ thống (1 cách nào đó trực tiếp hoặc gián tiếp) còn nếu không có quyền này thì khỏi cần đọc tiếp. (Remote qua Telnet, SSH, Netcat… hay cái gì đại loại thế – hoặc ngồi trực tiếp với hệ thống)

1. Máy chạy Windows.

Bước 1. Tắt process MySQL đang chạy (nếu có)

– Kill Process (nếu bạn ko chạy nó như một service)

– Stop Service: Start -> Run -> services.msc. Tìm đến service mysql -> Stop.

Hoặc gõ lệnh thông qua commandline: net stop mysql

Bước 2. Tạo 2 file:

– tạo file config.txt có nội dung vào trong ổ C (hoặc nơi nào đó tùy bạn):

– tạo file run.bat có nội dung:

* Nếu bạn cài MySQL thông qua MySQL Installation Wizard

* Nếu  sử dụng MySQL dạng portable như trong XAMMP, WAMP

Trường hợp này lưu luôn file run.bat này vào thư mục chứa file thực thi của MySQL cho gọn.

Xong, chạy file run.bat này. Password sẽ được đưa về thành ‘newpass‘ – bạn có thể đổi thành bất cứ thứ gì bạn muốn. :D

Cách khác:

Đầu tiên là phải tắt service MySQL đã.

* Muốn sử dụng dòng lệnh cho bờ rồ thì làm như sau:

Change directory đến thư mục có file thực thi của MySQL (ví dụ: C:\Program Files\MySQL\MySQL Server 5.0\bin) rồi gõ lệnh:

Giữ  nguyên cửa sổ command này, mở 1 cửa sổ command line khác, cũng change directory về giống cửa sổ trước,  gõ lệnh:

Sau khi đã login được vào MySQL, tiến hành đổi mật khẩu bằng các câu lệnh sau:

=> đến đây thì đã xong, mật khẩu đã được reset thành ‘new_pass‘.

Restart lại service MySQL để tiếp tục sử dụng.

2. Máy chạy Linux

* Trường hợp cài đặt bằng gói RPM:

Bước 1. Lên quyền root

Gain root access to your Linux system

Bước 2. Đầu tiên là dừng dịch vụ mysql lại

First you have to stop the daemon

Bước 3. Nếu sử dụng RedHat, CentOS… thì dùng lệnh sau:

With RedHat, Centos

Nếu dùng OS khác (Ubuntu…) thì thay thế services mysqld_safe thành safe_mysqld

Chạy mysql trong safe_mode mà không cần đăng nhập và bạn cũng sẽ disable networking cho mysql luôn – đề phòng bị tranh thủ tấn công).

You will now start MySQL in safe mode without reading the grant tables with all MySQL database passwords and also you will disable networking. The “safe_mysqld” command will do this trick for you.

Bước 4. Sử dụng mysqladmin sẽ reset lại password. Trong trường hợp này ta phải sử dụng lệnh sau để set 1 pass mới.

The “mysqladmin” command will now reset[rewrite] the root password. In this case we are setting it to “newpassword”.

Bước 5. Dừng chạy chế độ mysql_safe

Stop the running daemon

Bước 6. Cuối cùng khởi động lại dịch vụ mysql

And finally restart it

Bước 7. Bây giờ thì dùng password mới

You can use now your new root password

Đến đây là xong.

* Trường hợp cài thông qua source:
Tìm thư mục cài đặt Mysql và tìm thư mục libexec bên trong nó. Bạn chạy lệnh :

Sau đó có thể tiến hành đăng nhập không cần password và reset password như trên Windows.

 

Leave a Reply

Be the First to Comment!

Notify of
avatar
wpDiscuz