Mật khẩu cũ của MySQL

Câu lệnh SET PASSWORD gán mật khẩu cho tài khoản người dùng MySQL, được chỉ định dưới dạng văn bản rõ ràng (không được mã hóa) hoặc giá trị được mã hóa

  • 'auth_string' đại diện cho mật khẩu văn bản rõ ràng

  • 'hash_string' đại diện cho một mật khẩu được mã hóa

Trong một số trường hợp, SET PASSWORD có thể được ghi lại trong nhật ký máy chủ hoặc phía máy khách trong tệp lịch sử, chẳng hạn như

SET PASSWORD FOR 'jeffrey'@'localhost' = password_option;
1, có nghĩa là bất kỳ ai có quyền truy cập vào thông tin đó đều có thể đọc được mật khẩu văn bản rõ ràng. Để biết thông tin về các điều kiện xảy ra điều này đối với nhật ký máy chủ và cách kiểm soát, hãy xem Phần 6. 1. 2. 3, “Mật khẩu và ghi nhật ký”. Để biết thông tin tương tự về ghi nhật ký phía máy khách, hãy xem Phần 4. 5. 1. 3, “Ghi nhật ký máy khách mysql”

SET PASSWORD có thể được sử dụng có hoặc không có mệnh đề

SET PASSWORD FOR 'jeffrey'@'localhost' = password_option;
3 nêu rõ tên tài khoản người dùng

  • Với mệnh đề

    SET PASSWORD FOR 'jeffrey'@'localhost' = password_option;
    
    4, câu lệnh đặt mật khẩu cho tài khoản được đặt tên, tài khoản này phải tồn tại

    SET PASSWORD FOR 'jeffrey'@'localhost' = password_option;
    
  • Không có mệnh đề

    SET PASSWORD FOR 'jeffrey'@'localhost' = password_option;
    
    4, câu lệnh đặt mật khẩu cho người dùng hiện tại

    SET PASSWORD = password_option;
    

    Bất kỳ khách hàng nào kết nối với máy chủ bằng tài khoản không ẩn danh đều có thể thay đổi mật khẩu cho tài khoản đó. (Đặc biệt, bạn có thể thay đổi mật khẩu của chính mình. ) Để xem máy chủ đã xác thực bạn là tài khoản nào, hãy gọi hàm

    SELECT CURRENT_USER();
    

Nếu một mệnh đề

SET PASSWORD FOR 'jeffrey'@'localhost' = password_option;
4 được đưa ra, thì tên tài khoản sẽ sử dụng định dạng được mô tả trong Phần 6. 2. 4, “Chỉ định tên tài khoản”. Ví dụ

________số 8_______

Phần tên máy chủ của tên tài khoản, nếu bỏ qua, sẽ mặc định là

SET PASSWORD FOR 'jeffrey'@'localhost' = password_option;
8

Đặt mật khẩu cho tài khoản được đặt tên (với mệnh đề

SET PASSWORD FOR 'jeffrey'@'localhost' = password_option;
3) yêu cầu đặc quyền cho cơ sở dữ liệu hệ thống
SET PASSWORD = password_option;
1. Đặt mật khẩu cho chính bạn (đối với tài khoản không ẩn danh không có mệnh đề
SET PASSWORD FOR 'jeffrey'@'localhost' = password_option;
3) không yêu cầu đặc quyền. Khi biến hệ thống được bật, SET PASSWORD yêu cầu đặc quyền ngoài bất kỳ đặc quyền bắt buộc nào khác

Mật khẩu có thể được chỉ định theo những cách này

  • sử dụng chức năng

    Đối số là mật khẩu văn bản rõ ràng (không được mã hóa). băm mật khẩu và trả về chuỗi mật khẩu được mã hóa để lưu trữ trong hàng tài khoản trong bảng hệ thống

    SET PASSWORD = password_option;
    
    9

    Hàm băm mật khẩu sử dụng phương pháp băm được xác định bởi giá trị của giá trị biến hệ thống. Nếu SET PASSWORD từ chối giá trị mật khẩu băm được trả về là không đúng định dạng, có thể cần phải thay đổi để thay đổi phương pháp băm. Ví dụ: nếu tài khoản sử dụng plugin

    SELECT CURRENT_USER();
    
    5 thì giá trị phải là 0

    SET old_passwords = 0;
    SET PASSWORD FOR 'jeffrey'@'localhost' = PASSWORD('password');
    

    Nếu giá trị khác với giá trị mà plugin xác thực yêu cầu, thì giá trị mật khẩu băm được trả về không được chấp nhận đối với plugin đó và cố gắng đặt mật khẩu sẽ tạo ra lỗi. Ví dụ

    mysql> SET old_passwords = 1;
    mysql> SET PASSWORD FOR 'jeffrey'@'localhost' = PASSWORD('password');
    ERROR 1372 (HY000): Password hash should be a 41-digit hexadecimal number
    

    Các giá trị được phép được mô tả sau trong phần này

  • sử dụng chức năng

    Đối số của hàm 'auth_string' là mật khẩu văn bản rõ ràng (không được mã hóa). băm mật khẩu bằng pre-4. 1 băm và trả về chuỗi mật khẩu được mã hóa để lưu trữ trong hàng tài khoản trong bảng hệ thống

    SET PASSWORD = password_option;
    
    9. Phương pháp băm này chỉ phù hợp với các tài khoản sử dụng plugin xác thực
    SET PASSWORD FOR 'bob'@'%.example.org' = PASSWORD('auth_string');
    
    4

  • Sử dụng chuỗi mật khẩu đã được mã hóa

    Mật khẩu được chỉ định dưới dạng một chuỗi ký tự. Nó phải đại diện cho giá trị mật khẩu đã được mã hóa, ở định dạng băm theo yêu cầu của phương thức xác thực được sử dụng cho tài khoản

Bảng sau đây hiển thị, đối với mỗi phương pháp băm mật khẩu, giá trị được phép của

SELECT CURRENT_USER();
1 và plugin xác thực nào sử dụng phương pháp băm

Phương thức băm mật khẩuold_passwords ValueAssociated Authentication PluginMySQL 4. 1 hàm băm gốc0____6_______5Pre-4. Băm 1 (“cũ”)1_______8_______4Băm SHA-2562

SET PASSWORD FOR 'bob'@'%.example.org' = PASSWORD('auth_string');
8

Nếu bạn đang kết nối với MySQL 4. 1 hoặc máy chủ mới hơn sử dụng máy chủ trước 4. 1 chương trình khách, không thay đổi mật khẩu của bạn khi chưa đọc Phần 6 trước. 1. 2. 4, “Băm mật khẩu trong MySQL”. Định dạng băm mật khẩu mặc định đã thay đổi trong MySQL 4. 1 và nếu bạn thay đổi mật khẩu của mình, nó có thể được lưu trữ bằng định dạng băm trước 4. 1 máy khách không thể tạo, do đó khiến bạn không thể kết nối với máy chủ sau đó

Để biết thêm thông tin về cách đặt mật khẩu và plugin xác thực, hãy xem Phần 6. 2. 9, “Chỉ định mật khẩu tài khoản” và Phần 6. 2. 11, “Xác thực có thể cắm”

Điều gì xảy ra nếu tôi quên mật khẩu MySQL?

Để khôi phục mật khẩu, bạn chỉ cần làm theo các bước sau. Dừng quá trình máy chủ MySQL bằng lệnh Sudo service mysql stop. Khởi động máy chủ MySQL bằng lệnh sudo mysqld_safe –skip-grant-tables –skip-networking & Kết nối với máy chủ MySQL với tư cách người dùng root bằng lệnh mysql -u root

Mật khẩu MySQL mặc định của tôi là gì?

Người dùng mặc định cho MySQL là root và theo mặc định, nó không có mật khẩu . Nếu bạn đặt mật khẩu cho MySQL và bạn không thể nhớ lại, bạn luôn có thể đặt lại mật khẩu đó và chọn một mật khẩu khác.

Làm cách nào để xem mật khẩu MySQL?

Vì vậy, ví dụ, để hiển thị tên người dùng, mật khẩu và máy chủ lưu trữ của người dùng MySQL, chúng tôi sẽ sửa đổi truy vấn sql cho phù hợp như vậy. mysql> chọn người dùng, mật khẩu, máy chủ từ mysql. người dùng ; .