Hướng dẫn modify password mysql - sửa đổi mật khẩu mysql

Bài viết sau đây hướng dẫn MySQL reset root password dễ dàng trong vòng ít hơn 10 phút. Tìm hiểu và làm theo các bước trong bài viết nhé các bạn.

Cách reset root password

Nếu bạn chưa từng gán một root password cho MySQL, server không yêu cầu password để kết nối quyền root. Tuy nhiên, việc này không an toàn. Nếu bạn đã gán một root password trước đó nhưng lại quên nó, bạn có thể gán một password mới. Sau đây là hướng dẫn MySQL reset root password, có thể áp dụng cho các hệ thống như Windows, Unix và các hệ thống giống như Unix. Cũng như các hướng dẫn chung áp dụng cho bất kỳ hệ thống nào.

Hướng dẫn modify password mysql - sửa đổi mật khẩu mysql
MySQL reset root password

MySQL reset root password: Windows

Trên Windows. hãy sử dụng quy trình sau cho MySQL reset root password 'root'@'localhost'. Để đổi password cho một tài khoản

C:\> cd "C:\Program Files\MySQL\MySQL Server 8.0\bin" C:\> mysqld     --init-file=C:\\mysql-init.txt
0với một phần tên host khác, hãy sửa đổi các hướng dẫn để sử dụng tên host đó.

1 Đăng nhập vào hệ thống với quyền admin

2. Dừng server MySQL nếu nó đang chạy. Với một server đang chạy dịch vụ Windows, đi đến Services manager: Từ menu Start, chọn ControlPanel, AdministrativeTools, rồi Services. Tìm dịch vụ MySQL trong danh sách rồi dừng nó. Nếu server đang không chạy như một dịch vụ, bạn có thể cần sử dụng Task Manager để buộc dừng nó.Start, chọn Control Panel, Administrative Tools, rồi Services. Tìm dịch vụ MySQL trong danh sách rồi dừng nó. Nếu server đang không chạy như một dịch vụ, bạn có thể cần sử dụng Task Manager để buộc dừng nó.

3. Tạo một text file chứa lệnh gán password trên một dòng duy nhất. Thay thế password với password mà bạn muốn sử dụng.

ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';

4. Lưu file lại. Ví dụ này giả sử rằng bạn đặt tên bài là

C:\> cd "C:\Program Files\MySQL\MySQL Server 8.0\bin" C:\> mysqld     --init-file=C:\\mysql-init.txt
1.

5. Mở một cửa sổ console để vào command prompt: Từ menu Start, chọn Run, nhập cmd như lệnh cần chạy.Start, chọn Run, nhập cmd như lệnh cần chạy.

6. Khởi động server MySQL với biến số hệ thống

C:\> cd "C:\Program Files\MySQL\MySQL Server 8.0\bin" C:\> mysqld     --init-file=C:\\mysql-init.txt
2 được đặt để đặt tên file (lưu ý rằng dấu \ trong giá trị tùy chọn được nhân đôi):

C:\> cd "C:\Program Files\MySQL\MySQL Server 8.0\bin" C:\> mysqld     --init-file=C:\\mysql-init.txt
Lưu ý:

Nếu bạn đã cài đặt MySQL ở vị trí khác, chỉnh sửa lệnh cd theo đó.

Server thực thi nội dung của file có tên được đặt bởi biến hệ thống

C:\> cd "C:\Program Files\MySQL\MySQL Server 8.0\bin" C:\> mysqld     --init-file=C:\\mysql-init.txt
3, thay đổi password tài khoản
C:\> cd "C:\Program Files\MySQL\MySQL Server 8.0\bin" C:\> mysqld     --init-file=C:\\mysql-init.txt
4

Để có server output xuất hiện trong cửa sổ console thay vì trong log file, thêm tùy chọn

C:\> cd "C:\Program Files\MySQL\MySQL Server 8.0\bin" C:\> mysqld     --init-file=C:\\mysql-init.txt
5 vào lệnh mysqld.

Nếu bạn cài đặt MySQL bằng trình cài đặt MySQL Installation Wizard, bạn có thể sẽ cần chỉ định tùy chọn

C:\> cd "C:\Program Files\MySQL\MySQL Server 8.0\bin" C:\> mysqld     --init-file=C:\\mysql-init.txt
6 Ví dụ:

C:\> mysqld --defaults-file="C:\\ProgramData\\MySQL\\MySQL Server 8.0\\my.ini" --init-file=C:\\mysql-init.txt

Có thể tìm thấy cài đặt

C:\> cd "C:\Program Files\MySQL\MySQL Server 8.0\bin" C:\> mysqld     --init-file=C:\\mysql-init.txt
7 bằng Services Manager: Từ menu Start, chọn ControlPanel, AdministrativeTools, rồi Services. Tìm MySQL trong danh sách, chuột phải vào nó, rồi chọn Properties. Đường dẫn đến trường executable có chứa tùy chọn
C:\> cd "C:\Program Files\MySQL\MySQL Server 8.0\bin" C:\> mysqld     --init-file=C:\\mysql-init.txt
8Start, chọn Control Panel, Administrative Tools, rồi Services. Tìm MySQL trong danh sách, chuột phải vào nó, rồi chọn Properties. Đường dẫn đến trường executable có chứa tùy chọn
C:\> cd "C:\Program Files\MySQL\MySQL Server 8.0\bin" C:\> mysqld     --init-file=C:\\mysql-init.txt
8

7. Sau khi server đã khởi động thành công, xóa

C:\> cd "C:\Program Files\MySQL\MySQL Server 8.0\bin" C:\> mysqld     --init-file=C:\\mysql-init.txt
1.

Bây giờ bạn đã có thể kết nối với server MySQL dưới dạng root bằng password mới. Dừng server MySQL rồi restart nó bình thường. Nếu bạn chạy server dưới dạng dịch vụ, khởi động nó từ cửa sổ Windows Services. Nếu bạn khởi động server thủ đông, sử dụng bất kỳ lệnh nào bạn thường dùng.

Xem thêm: Cách kết nối mySQL với PHP đơn giảnCách kết nối mySQL với PHP đơn giản

MySQL reset root password: Unix và các hệ thống tương tự Unix

Trên Unix, hãy sử dụng quy trình sau để reset password cho tài khoản MySQL 'root'@'localhost'. Để thay đổi password cho một tài khoản root với phần tên máy chủ khác, hãy sửa đổi các hướng dẫn để sử dụng tên máy chủ đó.

Các hướng dẫn giả sử rằng bạn khởi động server MySQL từ tài khoản đăng nhập Unix mà bạn thường sử dụng. Ví dụ: Nếu bạn chạy server bằng tài khoản đăng nhập MySQL, bạn nên đăng nhập dưới dạng MySQL trước khi sử dụng các hướng dẫn. Ngoài ra, bạn có thể đăng nhập dưới dạng root. Nhưng trong trường hợp này, bạn phải khởi động mysqld bằng tùy chọn

C:\> mysqld --defaults-file="C:\\ProgramData\\MySQL\\MySQL Server 8.0\\my.ini" --init-file=C:\\mysql-init.txt
1 Nếu bạn khởi động server dưới dạng root mà không cần sử dụng
C:\> mysqld --defaults-file="C:\\ProgramData\\MySQL\\MySQL Server 8.0\\my.ini" --init-file=C:\\mysql-init.txt
2 server sẽ tạo các file
C:\> mysqld --defaults-file="C:\\ProgramData\\MySQL\\MySQL Server 8.0\\my.ini" --init-file=C:\\mysql-init.txt
3-owned trong thư mục dữ liệu, chẳng hạn như log file. Và việc này có thể gây ra các sự cố liên quan đến quyền cho các khởi động server trong tương lai. Nếu nó xảy ra, bạn phải thay đổi quyền sở hữu của các tệp thành
C:\> mysqld --defaults-file="C:\\ProgramData\\MySQL\\MySQL Server 8.0\\my.ini" --init-file=C:\\mysql-init.txt
4 hoặc xóa chúng.phải khởi động mysqld bằng tùy chọn
C:\> mysqld --defaults-file="C:\\ProgramData\\MySQL\\MySQL Server 8.0\\my.ini" --init-file=C:\\mysql-init.txt
1 Nếu bạn khởi động server dưới dạng root mà không cần sử dụng
C:\> mysqld --defaults-file="C:\\ProgramData\\MySQL\\MySQL Server 8.0\\my.ini" --init-file=C:\\mysql-init.txt
2 server sẽ tạo các file
C:\> mysqld --defaults-file="C:\\ProgramData\\MySQL\\MySQL Server 8.0\\my.ini" --init-file=C:\\mysql-init.txt
3-owned trong thư mục dữ liệu, chẳng hạn như log file. Và việc này có thể gây ra các sự cố liên quan đến quyền cho các khởi động server trong tương lai. Nếu nó xảy ra, bạn phải thay đổi quyền sở hữu của các tệp thành
C:\> mysqld --defaults-file="C:\\ProgramData\\MySQL\\MySQL Server 8.0\\my.ini" --init-file=C:\\mysql-init.txt
4 hoặc xóa chúng.

Các bước hướng dẫn:

1 Đăng nhập vào hệ thống dưới dạng người dùng Unix mà server MySQL chạy (ví dụ, mysql).

2. Dừng server MySQL nếu nó đang chạy. Xác định vị trí của file .pid chứa ID process của server. Vị trí và tên chính xác của file này phụ thuộc vào phân phối, tên host và cấu hình của bạn. Các vị trí phổ biến là

C:\> mysqld --defaults-file="C:\\ProgramData\\MySQL\\MySQL Server 8.0\\my.ini" --init-file=C:\\mysql-init.txt
5 Thông thường, tên file có phần mở rộng .pid và bắt đầu bằng mysql hoặc tên host hệ thống của bạn. Dừng server MySQL bằng cách gửi một kill bình thường (không phải kill -9) đến mysqld process. Sử dụng tên đường dẫn thực tế của file
C:\> mysqld --defaults-file="C:\\ProgramData\\MySQL\\MySQL Server 8.0\\my.ini" --init-file=C:\\mysql-init.txt
6 trong lệnh sau:

shell> kill `cat /mysql-data-directory/host_name.pid`

Sử dụng backtick với lệnh cat. Điều này làm output của cat bị thay thế vào lệnh kill.

3. Tạo một text file có chứa lệnh gán password trên một dòng duy nhất. Thay password bằng password mà bạn muốn sử dụng

ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';

4. Lưu file lại. Ví dụ này giả sử bạn đặt tên cho file là

C:\> mysqld --defaults-file="C:\\ProgramData\\MySQL\\MySQL Server 8.0\\my.ini" --init-file=C:\\mysql-init.txt
7File chứa password, nên không cần phải lưu nó ở nơi có thể bị đọc bởi người khác. Nếu bạn chưa đăng nhập dạng
C:\> mysqld --defaults-file="C:\\ProgramData\\MySQL\\MySQL Server 8.0\\my.ini" --init-file=C:\\mysql-init.txt
4 (dạng user mà server chạy), đảm bảo file có quyền cho phép
C:\> mysqld --defaults-file="C:\\ProgramData\\MySQL\\MySQL Server 8.0\\my.ini" --init-file=C:\\mysql-init.txt
4 đọc nó.

5. Chạy server MySQL với biến hệ thống

shell> kill `cat /mysql-data-directory/host_name.pid`
0được đặt để đặt tên file:

shell> mysqld --init-file=/home/me/mysql-init &

Server sẽ thực thi nội dung của file được được đặt tên bởi

C:\> cd "C:\Program Files\MySQL\MySQL Server 8.0\bin" C:\> mysqld     --init-file=C:\\mysql-init.txt
3 khi khởi động, thay đổi password tài khoản
C:\> cd "C:\Program Files\MySQL\MySQL Server 8.0\bin" C:\> mysqld     --init-file=C:\\mysql-init.txt
4

Các tùy chọn khác cũng có thể cần thiết, tùy thuộc vào cách bạn bình thường khởi động server của mình.

Ví dụ:

shell> kill `cat /mysql-data-directory/host_name.pid`
3 có thể cần trước đối số
shell> kill `cat /mysql-data-directory/host_name.pid`
4

6. Sau khi server đã khởi động thành công, xóa

shell> kill `cat /mysql-data-directory/host_name.pid`
5

Bây giờ bạn có thể kết nối với server MySQL dưới dạng root bằng password mới. Dừng server và restart nó bình thường.

Hướng dẫn chung

Các phần trước cung cấp các hướng dẫn reset password dành riêng cho các hệ thống Windows, Unix và hệ thống tương tự Unix. Ngoài ra, bất kỳ nền tảng nào, bạn cũng có thể reset password bằng mysql client (nhưng kém an toàn hơn):

1 Dừng server MySQL nếu cần thiết, sau đó restart nó với tùy chọn

shell> kill `cat /mysql-data-directory/host_name.pid`
6. Điều này cho phép bất cứ ai kết nối mà không cần password và với mọi đặc quyền. Và vô hiệu hóa các câu lệnh accoutn-managenent như
shell> kill `cat /mysql-data-directory/host_name.pid`
7 và
shell> kill `cat /mysql-data-directory/host_name.pid`
8 Bởi vì nó không an toàn, nếu server được khởi động với
shell> kill `cat /mysql-data-directory/host_name.pid`
6, nó cũng vô hiệu hóa các kết nối từ xa bằng cách bật
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';
0

2. Kết nối với server MySQL bằng mysql client; không cần password vì server được khởi động bằng

ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';
1

shell> mysql

3. Trong mysql client, ra lệnh cho server reload lại grant tables để câu lệnh account-management có thể hoạt động:

mysql> FLUSH PRIVILEGES;

Sau đó, thay đổi password tài khoản

C:\> cd "C:\Program Files\MySQL\MySQL Server 8.0\bin" C:\> mysqld     --init-file=C:\\mysql-init.txt
4 Thay thế password bằng password bạn muốn dùng. Để thay đổi password cho một tài khoản root với một phần tên server khác, hãy sửa đổi các hướng dẫn để sử dụng tên host đó.

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';

Bây giờ bạn có thể kết nối với server MySQL dưới dạng root bằng password mới. Dừng server và restart lại bình thường (không có tùy chọn

ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';
3 và không bật
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';
4).

Lời kết

Hy vọng bài viết trên sẽ giúp bạn có thể MySQL reset root password một cách đơn giản. Nếu có thắc mắc hay đóng góp ý kiến, mời bạn để lại bình luận phía dưới bài viết này. Vietnix xin chân thành cảm ơn bạn!