Mật khẩu mặc định của mysql

Đã bao giờ bạn set up mysql nhưng lại quên cmn mất mật khẩu root? Sau rất nhiều lần ngu người, sau 1 thời gian google search, cuối cùng nhờ sự giúp đỡ của thanh niên Hoàng Văn Phương, mình đã thành công trong việc lấy lại được mật khẩu root của nó [mysql].

Mình làm trên CentOS thì chỉ sử dụng mấy lệnh đơn giản như sau:

  • Stop services mysql
/etc/rc.d/init.d/mysqld  stop
  • Chạy mysqld_safe

Muốn biết thêm về mysqld_safe, bạn có thể tham khảo link: //dev.mysql.com/doc/refman/5.6/en/mysqld-safe.html

mysqld_safe --skip-grant-tables &
  • Login vào mysql
mysql -u root

Không cần phải tham số

mysqld_safe --skip-grant-tables &
4 để nhập password! Vì password bạn quên cmnr còn đâu mà nhập! :v

  • Cài đặt password mới cho user root
use mysql;
update user set password=PASSWORD["NEW-ROOT-PASSWORD"] where User='root';
  • Reload lại các quyền của user
flush privileges;
  • Start lại services mysql
/etc/rc.d/init.d/mysqld start
  • Quit khỏi mysql console, đăng nhập thử
mysql -u root -p

Xong nhập password bạn vừa thay đổi vào. Nếu mà đăng nhập vào được trong mysql console thì xin chúc mừng, bạn đã thay đổi thành công! Còn nếu không đăng nhập được thì chắc là do mysql có chức năng nhận dạng độ đẹp trai của người sử dụng. Lúc ấy hãy đi Cát Tường thẩm mỹ và quay trở lại setup lại nhé!

MySQL được biết đến là một hệ quản trị cơ sở dữ liệu được các ứng dụng web ưa chuộng. Khi dùng MySQL bạn cần tạo mật khẩu cho với quyền admin hoặc mật khẩu root, với mật khẩu root bạn có toàn quyền thực hiện các chức năng trong cơ sở dữ liệu.

Nếu bạn chưa thiết lập mật khẩu root thì vẫn có thể truy cập MySQL, tuy nhiên nó không có tính bảo mật cao vì ai cũng có thể truy cập vào cơ sở dữ liệu của bạn.

Trong trường hợp bạn đã cài đặt mật khẩu root nhưng đã quên nó, bài viết sau đây BKHOST sẽ hướng dẫn bạn cách có thể Reset/Change MySQL Root Password trên Linux/Windows.

Điều kiện cài đặt

  • Đã cài đặt MySQL.
  • Máy chủ Linux hoặc Windows đang kết nối MySQL.
  • Máy tính có quyền admin để lưu trữ cơ sở dữ liệu MySQL.
  • Có trình soạn thảo mặc định. Ví dụ như Notepad, Vim.
  • Truy cập vào command-line interface.

Cách thay đổi MySQL User Root Password trong Linux

Bước 1: Đăng nhập với tư cách User MySQL

Khi bạn truy cập vào Linux, bạn cần đảm bảo bạn sử dụng MySQL thường xuyên. Lúc này dù bạn có được cấp quyền root nhưng bạn phải khởi động bằng tùy chọn--user=mysql.

Nếu truy cập bằng phương pháp khác, hệ thống có thể tạo tệp thuộc sở hữu của người dùng root, lúc này hệ thống có thể bị lỗi.

Bước 2: Tìm Tệp .pid cho Dịch vụ MySQL

Tiếp theo bạn cần tìm tệp .pid cho MySQL

Đa số sẽ được lưu ở

sudo vim
0,
sudo vim
1 hoặc
sudo vim
2. Tên tệp thường bắt đầu bằng mysqld [hoặc tên máy chủ của bạn] và kết thúc bằng phần mở rộng .pid.

Bước 3: Kill mysqld Process

Dừng MySQL server trước khi tạo mật khẩu mới bằng lệnh sau:

kill `cat /mysql-data-directory/host_name.pid`

Thay
sudo vim
3 bằng tên tệp chính xác đã tìm ở bước 2. Đồng thời bạn cần dùng phím dấu lùi phía trên phím tab thay cho việc dùng dấu nháy đơn.

Bước 4: Tạo Password File

  • Mở trình soạn thảo bạn đang dùng, hướng dẫn này sẽ dùng Vim:
sudo vim
  • Tiếp theo, thêm dòng sau vào tệp:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword';

Đừng quên dấu ngoặc kép và dấu phẩy. Và đặt mật khẩu mới an toàn, đủ mạnh tại

sudo vim
4

Mật khẩu mới sẽ áp dụng ở máy hiện tại bạn sử dụng. Bạn cần thay localhost bằng tên máy chủ thích hợp nếu đang kết nối với hệ thống khác.

  • Lưu tệp vào
    sudo vim
    5.

Bước 5: Khởi động lại MySQL Server và Apply mật khẩu mới

Khởi động lại MySQL bằng lệnh sau để áp dụng mật khẩu mới:

mysqld --init-file=/home/me/mysql-init &

Từng cách khởi động máy chủ khác sau sẽ có những tùy chọn tương ứng. Như ví dụ trên là khởi động MySQL và áp dụng mật khẩu mới cho tệp văn bản.

Bước 6: Dọn dẹp

Đăng nhập vào máy chủ MySQL bằng tài khoản root và xác minh hoạt động của mật khẩu mới. Sau đó, xóa tệp bạn đã tạo ở Bước 4.

Cách Reset MySQL Root Password trong Windows

Bước 1: Dừng MySQL server

  • Bạn cần đảm bảo đang đăng nhập MySQL với bằng quyền root.
  • Nhấn phím
    sudo vim
    6 và nhập lệnh sau:
services.msc

  • Tìm dịch vụ MySQL sau đó nhấp chuột phải vào nó và bấm chuột trái ở Stop.

Bước 2: Khởi chạy trình soạn thảo văn bản

Tìm trình soạn thảo Notepad hoặc dùng đường dẫn sau:

sudo vim
7.

Bước 3: Tạo tệp văn bản mới bằng Password Command

  • Nhập lệnh sau vào trình soạn thảo văn bản:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword';

Đảm bảo rằng bạn giữ nguyên dấu ngoặc kép và dấu chấm phẩy. Tạo mật khẩu mới ở NewPassword.

  • Lưu tệp thư mục gốc của ổ C bằng lệnh
    sudo vim
    8 và đặt tên tệp. Ví dụ như
    sudo vim
    9.

Mật khẩu sẽ thay đổi dựa vào localhost với hệ thống tương ứng. Do đó khi bạn thay đổi mật khẩu trên một hệ thống khác bạn cần đổi tên localhost là máy chủ của bạn.

Bước 4: Mở Command Prompt

  • Nhấn
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword';
    0.
  • Sau đó, nhấp vào menu
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword';
    1 .
  • Nhập
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword';
    2 và chạy với tư cách là root
  • Chọn
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword';
    3 .

Bước 5: Khởi động lại MySQL Server bằng tệp cấu hình mới của bạn

  • Dùng dấu nhắc lệnh để điều hướng đến MySQL
cd "C:\Program Files\MySQL\MySQL Server 8.0\bin"
mysqld --init-file=C:\\mysql-init.txt

Lưu ý: sau C phải có hai dấu gạch chéo. Sau dấu gạch chéo là tên tệp bạn đặt tương ứng ở bước 2.

Bước 6: Dọn dẹp

Lúc này bạn có thể đăng nhập MySQL bằng mật khẩu mới để kiểm tra tính hoạt động của nó. Nếu bạn dùng tùy chọn mặc định để khởi chạy MySQL thì bạn cứ làm theo cách này.

Nếu xác nhận được mật khẩu mới đã hoạt động, bạn có thể xóa tệp lưu ở ổ

ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword';
4 được tạo ở bước 2.

Tổng kết

Qua bài viết trên, bạn có thể thấy việc thay đổi mật khẩu khá đơn giản nhưng mang đến cho bạn tính bảo mật cao hơn đối với cơ sở dữ liệu của bạn. Nó không bắt buộc nhưng là điều kiện cần để bạn cảm thấy an tâm hơn trong quá trình phát triển trang web và các sản phẩm phần mềm khác.

Nếu bạn bất cứ câu hỏi nào liên quan đến việc Reset/Change MySQL Root Password trên Linux/Windows, hãy để lại ở bên bình luận bên dưới, BKHOST sẽ trả lời bạn trong thời gian sớm nhất.

P/s: Bạn cũng có thể truy cập vào Blog của BKHOST để đọc thêm các bài viết chia sẻ kiến thức về lập trình, quản trị mạng, website, domain, hosting, vps, server, email,… Chúc bạn thành công.

Chủ Đề