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:
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';
# 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é.
# 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
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';
# 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
Như các bạn đã biết thì Telegram là một dịch vụ tin nhắn tuyệt vời…
Apache Tomcat là gì? Apache Tomcat là một web server HTTP được phát triển bởi…
20 triệu có lẽ là một mức chi phí khá lý tưởng cho một máy…
Micosoft chính thức phát hành Microsoft Edge Chromium Microsoft đã chính thức tung ra trình…
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…
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ó…
Leave a Comment