- Xu
- 767,550,567


Để đổi mật khẩu Mysql, MariaDB trên VPS , Server các bạn sử dụng PuTTy bản mới nhất để đăng nhập vào và chạy lệnh.
Hướng dẫn mình chạy trên VPS của Vultr sử dụng CentOS 7
Vultr là VPS tốt nhất hiện nay với tốc độ truy cập cao nhất từ Việt Nam.
Đăng ký tại đây để được 50$ miễn phí.
1. Đầu tiên các bạn chạy lệnh kiểm tra phiên bản hệ điều hành VPS / Server của mình.
2. Tiếp theo sau khi biết hệ điều hành thì cần Stop dịch vụ MySQL / MariaDB để đổi được password.
Lệnh Stop MySQL / MariaDB:
MySQL:
MariaDB:
Với các bạn cần đổi mật khẩu mysql cho tài khoản root thì làm tiếp bước 3 - còn vẫn nhớ mật khẩu mysql của root và muốn đổi mật khẩu cho tài khoản mysql khác thì các bạn chạy lệnh sau: mysql -r -p
Sau đó nhập pass của root vào và chạy tiếp bước 4 bỏ qua bước 3 nhưng không cần gõ dòng đầu tiên của bước 4: mysql -u root
3. Chạy Mysql trong chế độ an toàn - safe_mode
Lưu ý: Chạy mysql trong chế độ safe_mode sẽ không cần mật khẩu để đăng nhập vì vậy bạn cần disable networking cho mysql luôn – đề phòng bị tranh thủ tấn công bằng cách thêm tham số --skip-networking
Với hệ điều hành là RedHat, CentOS:
Nếu dùng OS khác như Ubuntu... thì thay thế mysqld_safe thành safe_mysqld
Nếu báo lỗi: mysqld_safe A mysqld process already exists tức là bạn chưa tắt được mysql
Lúc đó bạn thử lệnh sau để tắt lại Mysql và chạy lại: killall mysql
4. Đổi pass Mysql / MariaDB cho user bị mất
Lần lượt chạy các lệnh sau.
Thay root ở dòng thứ 3 bằng tên user database cần đổi pass hoặc giữ nguyên nếu đổi pass mysql cho tài khoản root.
5. Tắt chế độ an toàn & tất cả các dịch vụ MySQL
6. Khởi động lại MySQL
7. Thử kiểm tra kết nối đến MySQL bằng ROOT được chưa.
Như vậy là bạn đã reset lại password của mysql rồi đó.
Chúc bạn thành công và có thắc mắc gì cứ comment nhé.
Hướng dẫn mình chạy trên VPS của Vultr sử dụng CentOS 7
Vultr là VPS tốt nhất hiện nay với tốc độ truy cập cao nhất từ Việt Nam.
Đăng ký tại đây để được 50$ miễn phí.
1. Đầu tiên các bạn chạy lệnh kiểm tra phiên bản hệ điều hành VPS / Server của mình.
Mã:
# cat /etc/redhat-release
2. Tiếp theo sau khi biết hệ điều hành thì cần Stop dịch vụ MySQL / MariaDB để đổi được password.
Lệnh Stop MySQL / MariaDB:
MySQL:
Mã:
Centos 6: service mysql stop hoặc service mysqld stop
Centos 7: systemctl stop mysql.service hoặc systemctl stop mysqld.service
MariaDB:
Mã:
Centos 6: service mysql stop hoặc service mysqld stop
Centos 7: systemctl stop mariadb.service
Với các bạn cần đổi mật khẩu mysql cho tài khoản root thì làm tiếp bước 3 - còn vẫn nhớ mật khẩu mysql của root và muốn đổi mật khẩu cho tài khoản mysql khác thì các bạn chạy lệnh sau: mysql -r -p
Sau đó nhập pass của root vào và chạy tiếp bước 4 bỏ qua bước 3 nhưng không cần gõ dòng đầu tiên của bước 4: mysql -u root
3. Chạy Mysql trong chế độ an toàn - safe_mode
Lưu ý: Chạy mysql trong chế độ safe_mode sẽ không cần mật khẩu để đăng nhập vì vậy bạn cần disable networking cho mysql luôn – đề phòng bị tranh thủ tấn công bằng cách thêm tham số --skip-networking
Với hệ điều hành là RedHat, CentOS:
Mã:
mysqld_safe --skip-grant-tables --skip-networking
Nếu dùng OS khác như Ubuntu... thì thay thế mysqld_safe thành safe_mysqld
Nếu báo lỗi: mysqld_safe A mysqld process already exists tức là bạn chưa tắt được mysql
Lúc đó bạn thử lệnh sau để tắt lại Mysql và chạy lại: killall mysql
4. Đổi pass Mysql / MariaDB cho user bị mất
Lần lượt chạy các lệnh sau.
Thay root ở dòng thứ 3 bằng tên user database cần đổi pass hoặc giữ nguyên nếu đổi pass mysql cho tài khoản root.
Mã:
mysql -u root
use mysql;
UPDATE user SET Password = PASSWORD ('yournewpassword') WHERE User='root';
FLUSH PRIVILEGES;
quit;
5. Tắt chế độ an toàn & tất cả các dịch vụ MySQL
Mã:
killall mysqld_safe
killall mysqld
6. Khởi động lại MySQL
Mã:
service mysqld start
7. Thử kiểm tra kết nối đến MySQL bằng ROOT được chưa.
Mã:
mysql -u root -p
Như vậy là bạn đã reset lại password của mysql rồi đó.
Chúc bạn thành công và có thắc mắc gì cứ comment nhé.
Chỉnh sửa cuối: