Danh mục: MySQL

Reset MySQL 8.0 Root Password trên Linux

Database luôn có vị trí quan trọng trên bất kì hệ thống nào. Nếu chẳng may bạn quên mật khẩu root của My SQL, bài viết này hướng bạn reset root password của MySQL phiên bản 8.0

Xem thêm:

Reset MySQL Root Password bằng –init-file

Một trong những cách reset root password là các bạn tạo một init file và khởi động MySQL với tùy chọn sử dụng init file đã tạo.

# vim /home/user/init-file.txt

Lưu ý quan trọng là bạn phải phân quyền cho mysql user đọc được file trên. Bạn có thể xem bài viết về phân quyền trong linux tại đây.

Các bạn thêm vào file dòng dưới đây:

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

Theo hình trên, password mới là r@virig!

Tiếp theo chúng ta tắt dịch vụ mysql bằng lệnh sau

# systemctl stop mysqld.service # cho hệ thống sử dụng systemd 
# /etc/init.d/mysqld stop # cho hệ thống sử dụng init

Sau đó thực hiện lệnh sau:

# mysqld --user=mysql --init-file=/home/user/init-file.txt --console

Câu lệnh trên sẽ khởi động lại MySQL và xử lý init file bạn đã tạo, mật khẩu của user root sẽ được cập nhật theo mật khẩu mới của bạn. Sau khi hoàn thành bạn nhớ xóa file đó nhé.

Bạn cần xác nhận MySQL được tắt và khởi động lại mà không gặp vấn đề gì.

# systemctl stop mysqld.service # cho hệ thống sử dụng systemd 
# systemctl restart mysqld.service # cho hệ thống sử dụng systemd 

# /etc/init.d/mysqld stop # cho hệ thống sử dụng init
# /etc/init.d/mysqld restart # cho hệ thống sử dụng init

Bây giờ bạn đã có thể đăng nhập MySQL bằng mật khẩu mới.

# mysql -u root -p

Reset MySQL Root Password Using –skip-grant-tables

Cách thứ 2 trong bài viết này mình muốn nói đến là khởi động MySQL với tùy chọn--skip-grant-tables . Tùy chọn này sẽ giúp tất cả user có thể kết nối mà không cần mật khẩu. Nếu khởi động với tùy chọn này, tùy chọn  --skip-networking  cũng được tự động kích hoạt, các kết nối từ xa sẽ không còn hiệu lực.

Đầu tiên các bạn tắt dịch vụ MySQL

# systemctl stop mysqld.service # cho hệ thống sử dụng systemd 
# /etc/init.d/mysqld stop # cho hệ thống sử dụng init

Tiếp theo khởi động MySQL với tùy chọn –skip-grant-tables

# mysqld --skip-grant-tables --user=mysql &

sau đó bạn có thể kết nối đến mysql chỉ với câu lệnh:

# mysql

Tiếp theo các bạn thực hiện lệnh sau để cập nhật lại thông tin phân quyền để có thể thay đổi password sau đó:

# FLUSH PRIVILEGES;

Bây giờ các bạn có thể thực hiện lệnh cấp lại password mới cho user root

# ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_passowrd';

Tiếp theo bạn tắt MySQL và khởi động lại.

# systemctl stop mysqld.service # cho hệ thống sử dụng systemd 
# systemctl restart mysqld.service # cho hệ thống sử dụng systemd 

# /etc/init.d/mysqld stop # cho hệ thống sử dụng init
# /etc/init.d/mysqld restart # cho hệ thống sử dụng init

Bây giờ bạn có thể đăng nhập mysql với mật khẩu mới.

# mysql -u root -p

Trên đây là hướng dẫn khôi phục mật khẩu root của MySQL phiên bản 8.0 trên Linux. Chúc các bạn thành công.

Nguồn

Share:
Leave a Comment
Share
Published by
itfromzero
Tags: LinuxMySQL

Recent Posts

Hướng dẫn nhắn tin Telegram trên Linux Terminal

Như các bạn đã biết thì Telegram là một dịch vụ tin nhắn tuyệt vời…

4 năm ago

Cài đặt Apache Tomcat 9 trên Ubuntu 20.04

Apache Tomcat là gì? Apache Tomcat là một web server HTTP được phát triển bởi…

4 năm ago

04/2020 – Build PC chơi game giá 20 triệu

20 triệu có lẽ là một mức chi phí khá lý tưởng cho một máy…

4 năm ago

Sử dụng Microsoft Edge Chromium: Thay đổi tìm kiếm mặc định, cài Chrome Extensions

Micosoft chính thức phát hành Microsoft Edge Chromium Microsoft đã chính thức tung ra trình…

4 năm ago

CentOS 8 – Những thay đổi và tính năng

CentOS 8 đã phát hành ngày 25/09/2019, phiên bản 8 lần này có những thay đổi…

5 năm ago

Top 5 Laptop cho dân văn phòng 2019

Thời buổi công nghệ phát triển, phần lớn công việc của con người đều có…

5 năm ago