Hướng dẫn thay đổi mật khẩu MySQL, MariaDB trên VPS, server khi quên

Thảo luận trong 'Kiến Thức' bắt đầu bởi Admin, 17 Tháng tư 2016.

  1. Admin Nothing to lose.. your love to win..

    Bài viết:
    4,112
    Để đổ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.

    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: 25 Tháng mười hai 2019
Trả lời qua Facebook
Đang tải...