Hướng dẫn đặt lại mật khẩu Root của MySQL hoặc MariaDB trên CentOS 7

⚠️ CentOS 7 đã hết hỗ trợ từ 30/06/2024. Hệ điều hành này không còn nhận bản vá an ninh, nên đừng dựng máy chủ mới trên nó. Các bước trong bài phần lớn vẫn chạy được, nhưng với máy mới hãy chọn AlmaLinux 9 (dòng kế thừa CentOS, lệnh yum và dnf gần như giữ nguyên) hoặc Ubuntu 24.04. Đang chạy CentOS 7 và cần chuyển, hãy nhắn qua khung chat ở góc phải màn hình.

⚠️ CentOS 7 đã hết hỗ trợ từ ngày 30/06/2024. Hệ điều hành này không còn nhận bản vá bảo mật, nên không nên dùng cho máy chủ dựng mới. Bài này giữ lại cho các máy đang chạy CentOS 7 và chưa chuyển được: các bước bên dưới vẫn đúng với những máy đó. Với máy mới, Cloudzone khuyên dùng AlmaLinux 9 hoặc một bản Ubuntu LTS; phần lớn các bước bên dưới áp dụng được, khác chủ yếu ở lệnh quản lý gói (dnf thay cho yum). Xem bài Chọn hệ điều hành nào cho VPS.

Lưu ý: CentOS 7 đã hết vòng đời từ tháng 6/2024 (không còn bản vá bảo mật). Các bước trong bài vẫn áp dụng tương tự cho AlmaLinux / Rocky Linux – dòng kế thừa CentOS; máy mới quý khách nên chọn AlmaLinux hoặc Ubuntu LTS. Xem thêm bài chọn hệ điều hành nào cho VPS.


Đầu tiên bạn cần phải xác định hệ thống của bạn đang sử dụng là MySQL hay MariaDB. Bằng cách sử dụng câu lệnh

mysql --version

Với MySQL. Kết quả sẽ trông gần giống như

mysql Ver 14.14 Distrib 5.7.16, for Linux (x86_64) using EditLine wrapper

Còn với MariaDB

mysql Ver 15.1 Distrib 5.5.65-MariaDB, for Linux (x86_64) using readline 5.1

Bước 1: Tiến hành ngừng dịch vụ MySQL (MariaDB) bằng câu lệnh

Với MySQL

sudo systemctl stop mysql

Với MariaDB

sudo systemctl stop mariadb

Kiểm tra nếu không báo lỗi gì thì services đã được dừng thành công

Bước 2: Khởi chạy lại Database Server mà bỏ qua việc kiểm tra quyền hạn bằng câu lệnh

sudo mysqld_safe --skip-grant-tables --skip-networking &

Bước 3: Đăng nhập vào user root của MySQL. Khi đó sẽ không đòi hỏi Password

mysql -u root

nạp lại bảng bằng câu lệnh

 FLUSH PRIVILEGES;

Đặt lại Password cho user root

Với phiên bản MySQL 5.7.6 và mới hơn hoặc MariaDB 10.1.20 và mới hơn

ALTER USER 'root'@'localhost' IDENTIFIED BY 'password mới';

Với các phiên bản cũ hơn

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('password mới');

Nếu thấy báo Query OK, 0 rows affected (0.00 sec) là thành công

Cuối cùng gõ lệnh để thoát khỏi MySQL

Bước 4: Khởi động lại MySQL (MariaDB) bình thường

Kill tiến trình

Với MySQL

sudo kill `cat /var/run/mysqld/mysqld.pid`

Với MariaDB

sudo kill `/var/run/mariadb/mariadb.pid`

Nếu gặp lỗi ở bước này bạn chỉ cần reboot lại server là được

Khởi động lại services

Với MySQL

sudo systemctl start mysql

Với MariaDB

sudo systemctl start mariadb

Bước 5: Kiểm tra lại password mới bằng câu lệnh

mysql -u root -p

Sau đó nhập Password mới vừa đặt, thành công là được

 

Hướng dẫn này có ích cho bạn?

Cần đặt dịch vụ? Xem cấu hình và giá tại bảng giá Cloudzone - đặt gói trực tuyến, nhận dịch vụ ngay sau thanh toán. Cần tư vấn, mở khung chat ở góc phải màn hình.

Hướng dẫn liên quan