Chủ Nhật, 4 tháng 9, 2016

Khôi phục password Root của MySQL/MariaDB

Khôi phục password Root của MySQL/MariaDB

Password user Root trong MySQL/MariaDB là một trong những thông tin tuyệt đối bảo mật và quan trọng, chẳng may để lộ thông tin này có thể làm cho Server của bạn bị hacker chiếm quyền điều khiển ngay lập tức.

Tuy nhiên, nếu đặt mật khẩu quá phức tạp đôi khi sẽ làm bạn quên mất thông tin này, vậy khi đó đâu là giải pháp?

KHÔI PHỤC MẬT KHẨU ROOT CỦA MYSQL/MARIADB

Reset lại password chính là giải pháp cho tình huống này, vì vậy lời khuyên cho bạn là nếu không thật sự cần thiết bạn nên “tạm quên” mật khẩu Root này đi, để khi nào cần hãy thực hiện theo bài hướng dẫn này của mình để lấy lại thông tin user root nhé.

Bước 1: Tắt dịch vụ MySQL/MariaDB

$ /etc/init.d/mysql stop
Stopping MySQL database server: mysqld.

 Bước 2: Sử dụng lệnh sau để khởi động dịch vụ MySQL/MariaDB với chế độ “Safe Mode”

$ mysqld_safe --skip-grant-tables &

[1] 10250
160201 10:22:06 mysqld_safe Logging to syslog.
160201 10:22:06 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql

Bước 3: Kết nối vào giao diện MySQL/MariaDB Monitor (Command Line) với cửa sổ SSH/Terminal mới (câu lệnh ở Bước 2 sẽ chiếm dụng toàn bộ màn hình SSH/Terminal cho tới khi chúng ta kết thúc)

$ mysql -u root

Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 5
Server version: 10.0.23-MariaDB-0+deb8u1 (Debian)

Copyright (c) 2000, 2015, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>

Như vậy, chúng ta đã có thể kết nối vào MySQL Command Line với user root cao nhất và không cần phải nhập password.

Bước 4: Cập nhật lại mật khẩu mới cho user root

MariaDB [(none)]> use mysql;
MariaDB [(none)]> update user set password=PASSWORD("MẬT KHẨU MỚI CỦA BẠN") where User='root';
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> quit

Bước 5: Khởi động lại dịch vụ MySQL/MariaDB

$ /etc/init.d/mysql stop

[....] Stopping mysql (via systemctl): mysql.service160201 10:23:22 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
. ok
[1]+  Done                    mysqld_safe --skip-grant-tables
$ /etc/init.d/mysql start

[ ok ] Starting mysql (via systemctl): mysql.service.

Như vậy quá trình cập nhật lại đã thành công, bạn có thể dùng thông tin mới để đăng nhập rồi đó!

Duong Nguyen
Duong Nguyen

Work hard and learn more invaluable lessons when serving in professional business oriented environment so as to accumulate more experience for further overall advancement.

Vui lòng chia sẻ cảm nghĩ của bạn / Spread out Your Opinions

Vui lòng sử dụng Tiếng Việt có dấu và không bình luận quảng cáo hoặc nội dung không liên quan tới chủ đề.
Please use English to post a comment and do not spamming or marketing.