Hướng dẫn authentication_policy mysql - verify_policy mysql

6.4.1.2 & NBSP; Bộ nhớ đệm SHA-2 có thể thực hiện

MySQL cung cấp hai plugin xác thực để thực hiện băm SHA-256 cho mật khẩu tài khoản người dùng:

  • [mysqld]
    default_authentication_plugin=caching_sha2_password
    2: Thực hiện xác thực SHA-256 cơ bản.

  • [mysqld]
    default_authentication_plugin=caching_sha2_password
    3: Thực hiện xác thực SHA-256 (như
    [mysqld]
    default_authentication_plugin=caching_sha2_password
    2), nhưng sử dụng bộ nhớ đệm ở phía máy chủ để có hiệu suất tốt hơn và có các tính năng bổ sung cho khả năng ứng dụng rộng hơn.

Phần này mô tả plugin xác thực SHA-2 bộ nhớ đệm. Để biết thông tin về plugin cơ bản (không) ban đầu, xem Phần & NBSP; 6.4.1.3, Xác thực có thể cắm có thể cắm SHA-256.

Quan trọng

Trong MySQL 8.0,

[mysqld]
default_authentication_plugin=caching_sha2_password
3 là plugin xác thực mặc định thay vì
[mysqld]
default_authentication_plugin=caching_sha2_password
6. Để biết thông tin về ý nghĩa của sự thay đổi này đối với hoạt động và khả năng tương thích của máy chủ với máy khách và trình kết nối, hãy xem bộ nhớ cache_sha2_password là plugin xác thực ưa thích.

Quan trọng

Trong MySQL 8.0,

[mysqld]
default_authentication_plugin=caching_sha2_password
3 là plugin xác thực mặc định thay vì
[mysqld]
default_authentication_plugin=caching_sha2_password
6. Để biết thông tin về ý nghĩa của sự thay đổi này đối với hoạt động và khả năng tương thích của máy chủ với máy khách và trình kết nối, hãy xem bộ nhớ cache_sha2_password là plugin xác thực ưa thích.

Để kết nối với máy chủ bằng tài khoản xác thực với plugin

[mysqld]
default_authentication_plugin=caching_sha2_password
3, bạn phải sử dụng kết nối an toàn hoặc kết nối không được mã hóa hỗ trợ trao đổi mật khẩu bằng cặp khóa RSA, như được mô tả sau trong phần này. Dù bằng cách nào, plugin
[mysqld]
default_authentication_plugin=caching_sha2_password
3 sử dụng khả năng mã hóa của MySQL. Xem Phần & NBSP; 6.3, Sử dụng các kết nối được mã hóa.

Ghi chúsha256 refers to the 256-bit digest length the plugin uses for encryption. In the name

[mysqld]
default_authentication_plugin=caching_sha2_password
3, sha2 refers more generally to the SHA-2 class of encryption algorithms, of which 256-bit encryption is one instance. The latter name choice leaves room for future expansion of possible digest lengths without changing the plugin name.

Trong tên

[mysqld]
default_authentication_plugin=caching_sha2_password
2, SHA256, đề cập đến độ dài tiêu hóa 256 bit mà plugin sử dụng để mã hóa. Trong tên
[mysqld]
default_authentication_plugin=caching_sha2_password
3, SHA2, nói chung là các thuật toán mã hóa SHA-2, trong đó mã hóa 256 bit là một ví dụ. Sự lựa chọn tên sau để lại chỗ cho việc mở rộng trong tương lai của các độ dài tiêu hóa có thể mà không thay đổi tên plugin.

  • Plugin

    [mysqld]
    default_authentication_plugin=caching_sha2_password
    3 có những lợi thế này, so với
    [mysqld]
    default_authentication_plugin=caching_sha2_password
    2:

  • Về phía máy chủ, bộ đệm trong bộ nhớ cho phép xác nhận lại nhanh hơn người dùng đã kết nối trước đó khi họ kết nối lại.

  • Trao đổi mật khẩu dựa trên RSA có sẵn bất kể thư viện SSL nào mà MySQL được liên kết.

Hỗ trợ được cung cấp cho các kết nối máy khách sử dụng các giao thức ổ cắm và bộ nhớ chung của UNIX.

Bảng sau đây hiển thị tên plugin ở phía máy chủ và máy khách.

Bảng & NBSP; 6.17 & NBSP; plugin và tên thư viện để xác thực SHA-2Plugin hoặc tập tin
Plugin hoặc tên tệpPlugin phía máy chủ
[mysqld]
default_authentication_plugin=caching_sha2_password
3
Plugin phía máy chủ
[mysqld]
default_authentication_plugin=caching_sha2_password
3
Plugin phía máy khách

Tệp thư viện

  • Không có (plugin được tích hợp)

  • Các phần sau đây cung cấp thông tin cài đặt và sử dụng cụ thể để lưu trữ xác thực có thể cắm SHA-2:

  • Cài đặt xác thực có thể cắm SHA-2

Sử dụng xác thực có thể cắm SHA-2

Không có (plugin được tích hợp)

Các phần sau đây cung cấp thông tin cài đặt và sử dụng cụ thể để lưu trữ xác thực có thể cắm SHA-2:

  • Cài đặt xác thực có thể cắm SHA-2

  • Sử dụng xác thực có thể cắm SHA-2

Hoạt động của bộ nhớ cache để xác thực có thể cắm SHA-2

Các phần sau đây cung cấp thông tin cài đặt và sử dụng cụ thể để lưu trữ xác thực có thể cắm SHA-2:

Cài đặt xác thực có thể cắm SHA-2

CREATE USER 'sha2user'@'localhost'
IDENTIFIED WITH caching_sha2_password BY 'password';

Sử dụng xác thực có thể cắm SHA-2

Hoạt động của bộ nhớ cache để xác thực có thể cắm SHA-2

Để biết thông tin chung về xác thực có thể cắm trong MySQL, xem Phần & NBSP; 6.2.17, Xác thực có thể cắm được.

[mysqld]
default_authentication_plugin=caching_sha2_password

Plugin

[mysqld]
default_authentication_plugin=caching_sha2_password
3 tồn tại trong các biểu mẫu máy chủ và máy khách:

CREATE USER 'sha2user'@'localhost' IDENTIFIED BY 'password';

Plugin phía máy chủ được tích hợp vào máy chủ, không cần phải tải rõ ràng và không thể bị vô hiệu hóa bằng cách dỡ nó.

CREATE USER 'nativeuser'@'localhost'
IDENTIFIED WITH mysql_native_password BY 'password';

Plugin phía máy khách được tích hợp vào thư viện máy khách

CREATE USER 'sha2user'@'localhost' IDENTIFIED BY 'password';
6 và có sẵn cho bất kỳ chương trình nào được liên kết với
CREATE USER 'sha2user'@'localhost' IDENTIFIED BY 'password';
6.

  • Về phía máy chủ, hai biến hệ thống đặt tên cho các tệp cặp khóa riêng và công khai RSA:

    [mysqld]
    caching_sha2_password_private_key_path=myprivkey.pem
    caching_sha2_password_public_key_path=mypubkey.pem
    6 và
    [mysqld]
    caching_sha2_password_private_key_path=myprivkey.pem
    caching_sha2_password_public_key_path=mypubkey.pem
    7. Quản trị viên cơ sở dữ liệu phải đặt các biến này tại khởi động máy chủ nếu các tệp khóa để sử dụng có tên khác với các giá trị mặc định của biến hệ thống.

  • Máy chủ sử dụng biến hệ thống

    [mysqld]
    caching_sha2_password_private_key_path=myprivkey.pem
    caching_sha2_password_public_key_path=mypubkey.pem
    8 để xác định xem có nên tự động tạo các tệp cặp khóa RSA hay không. Xem Phần & NBSP; 6.3.3, Tạo chứng chỉ SSL và RSA và khóa.

  • Biến trạng thái

    [mysqld]
    caching_sha2_password_private_key_path=myprivkey.pem
    caching_sha2_password_public_key_path=mypubkey.pem
    9 hiển thị giá trị khóa công khai RSA được sử dụng bởi plugin xác thực
    [mysqld]
    default_authentication_plugin=caching_sha2_password
    3.

  • Các khách hàng đang sở hữu khóa công khai RSA có thể thực hiện trao đổi mật khẩu dựa trên cặp khóa RSA với máy chủ trong quá trình kết nối, như được mô tả sau.

  • Đối với các kết nối bằng các tài khoản xác thực với trao đổi mật khẩu dựa trên cặp khóa

    [mysqld]
    default_authentication_plugin=caching_sha2_password
    3 và RSA, máy chủ không gửi khóa công khai RSA cho khách hàng theo mặc định. Khách hàng có thể sử dụng bản sao phía máy khách của khóa công khai cần thiết hoặc yêu cầu khóa công khai từ máy chủ.

    Việc sử dụng một bản sao cục bộ đáng tin cậy của khóa công khai cho phép khách hàng tránh một chuyến đi khứ hồi trong giao thức máy khách/máy chủ và an toàn hơn so với yêu cầu khóa công khai từ máy chủ. Mặt khác, việc yêu cầu khóa công khai từ máy chủ thuận tiện hơn (nó không yêu cầu quản lý tệp phía máy khách) và có thể được chấp nhận trong môi trường mạng an toàn.

    • Đối với các máy khách dòng lệnh, hãy sử dụng tùy chọn

      [mysqld]
      caching_sha2_password_private_key_path=/usr/local/mysql/myprivkey.pem
      caching_sha2_password_public_key_path=/usr/local/mysql/mypubkey.pem
      2 để chỉ định tệp khóa công khai RSA. Sử dụng tùy chọn
      [mysqld]
      caching_sha2_password_private_key_path=/usr/local/mysql/myprivkey.pem
      caching_sha2_password_public_key_path=/usr/local/mysql/mypubkey.pem
      3 để yêu cầu khóa công khai từ máy chủ. Các chương trình sau đây hỗ trợ hai tùy chọn: mysql, mysqlsh, mysqladmin, mysqlbinlog, mysqlcheck, mysqldump, mysqlimport, mysqlpump, mysqlshow, mysqlslap, mysqltest, mysql_uprade.mysql, mysqlsh, mysqladmin, mysqlbinlog, mysqlcheck, mysqldump, mysqlimport, mysqlpump, mysqlshow, mysqlslap, mysqltest, mysql_upgrade.

    • Đối với các chương trình sử dụng API C, hãy gọi

      [mysqld]
      caching_sha2_password_private_key_path=/usr/local/mysql/myprivkey.pem
      caching_sha2_password_public_key_path=/usr/local/mysql/mypubkey.pem
      4 để chỉ định tệp khóa công khai RSA bằng cách chuyển tùy chọn
      [mysqld]
      caching_sha2_password_private_key_path=/usr/local/mysql/myprivkey.pem
      caching_sha2_password_public_key_path=/usr/local/mysql/mypubkey.pem
      5 và tên của tệp hoặc yêu cầu khóa công khai từ máy chủ bằng cách chuyển tùy chọn
      [mysqld]
      caching_sha2_password_private_key_path=/usr/local/mysql/myprivkey.pem
      caching_sha2_password_public_key_path=/usr/local/mysql/mypubkey.pem
      6.

    • Đối với các bản sao, hãy sử dụng câu lệnh

      [mysqld]
      caching_sha2_password_private_key_path=/usr/local/mysql/myprivkey.pem
      caching_sha2_password_public_key_path=/usr/local/mysql/mypubkey.pem
      7 (từ MySQL 8.0,23) hoặc câu lệnh
      [mysqld]
      caching_sha2_password_private_key_path=/usr/local/mysql/myprivkey.pem
      caching_sha2_password_public_key_path=/usr/local/mysql/mypubkey.pem
      8 (trước MySQL 8.0.23) với
      [mysqld]
      caching_sha2_password_private_key_path=/usr/local/mysql/myprivkey.pem
      caching_sha2_password_public_key_path=/usr/local/mysql/mypubkey.pem
      9 | Tùy chọn
      [mysqld]
      caching_sha2_password_digest_rounds=10000
      0 Để chỉ định tệp khóa công khai RSA hoặc
      [mysqld]
      caching_sha2_password_digest_rounds=10000
      1 |
      [mysqld]
      caching_sha2_password_digest_rounds=10000
      2 Tùy chọn để yêu cầu khóa công khai từ nguồn. Để sao chép nhóm, các biến hệ thống
      [mysqld]
      caching_sha2_password_digest_rounds=10000
      3 và
      [mysqld]
      caching_sha2_password_digest_rounds=10000
      4 phục vụ cùng một mục đích.

    Trong mọi trường hợp, nếu tùy chọn được đưa ra để chỉ định một tệp khóa công khai hợp lệ, bạn sẽ được ưu tiên hơn tùy chọn để yêu cầu khóa công khai từ máy chủ.

Đối với các máy khách sử dụng plugin

[mysqld]
default_authentication_plugin=caching_sha2_password
3, mật khẩu không bao giờ được hiển thị dưới dạng ClearText khi kết nối với máy chủ. Cách truyền mật khẩu xảy ra phụ thuộc vào việc sử dụng kết nối an toàn hay mã hóa RSA:

  • Nếu kết nối được bảo mật, một cặp khóa RSA là không cần thiết và không được sử dụng. Điều này áp dụng cho các kết nối TCP được mã hóa bằng TLS, cũng như các kết nối ổ cắm và bộ nhớ chung của Unix-File. Mật khẩu được gửi dưới dạng Cleartext nhưng không thể rình mò vì kết nối được bảo mật.

  • Nếu kết nối không an toàn, một cặp khóa RSA được sử dụng. Điều này áp dụng cho các kết nối TCP không được mã hóa bằng TLS và các kết nối-PIPE. RSA chỉ được sử dụng để trao đổi mật khẩu giữa máy khách và máy chủ, để ngăn chặn việc rình mò mật khẩu. Khi máy chủ nhận được mật khẩu được mã hóa, nó sẽ giải mã nó. Một cuộc tranh giành được sử dụng trong mã hóa để ngăn chặn các cuộc tấn công lặp lại.

Để cho phép sử dụng cặp khóa RSA để trao đổi mật khẩu trong quá trình kết nối máy khách, hãy sử dụng quy trình sau:

  1. Tạo các tệp cặp khóa tư nhân và công khai RSA bằng cách sử dụng các hướng dẫn trong Phần & NBSP; 6.3.3, Tạo Chứng chỉ SSL và RSA và khóa.

  2. Nếu các tệp khóa riêng và công khai được đặt trong thư mục dữ liệu và được đặt tên là

    [mysqld]
    caching_sha2_password_digest_rounds=10000
    6 và
    [mysqld]
    caching_sha2_password_digest_rounds=10000
    7 (các giá trị mặc định của các biến hệ thống
    [mysqld]
    caching_sha2_password_private_key_path=myprivkey.pem
    caching_sha2_password_public_key_path=mypubkey.pem
    6 và
    [mysqld]
    caching_sha2_password_private_key_path=myprivkey.pem
    caching_sha2_password_public_key_path=mypubkey.pem
    7), máy chủ sẽ sử dụng chúng tự động khi khởi động.

    Mặt khác, để đặt tên cho các tệp khóa một cách rõ ràng, đặt các biến hệ thống thành tên tệp khóa trong tệp tùy chọn máy chủ. Nếu các tệp được đặt trong thư mục dữ liệu máy chủ, bạn không cần chỉ định tên đường dẫn đầy đủ của chúng:

    [mysqld]
    caching_sha2_password_private_key_path=myprivkey.pem
    caching_sha2_password_public_key_path=mypubkey.pem

    Nếu các tệp khóa không nằm trong thư mục dữ liệu hoặc để làm cho vị trí của chúng rõ ràng trong các giá trị biến hệ thống, hãy sử dụng tên đường dẫn đầy đủ:

    [mysqld]
    caching_sha2_password_private_key_path=/usr/local/mysql/myprivkey.pem
    caching_sha2_password_public_key_path=/usr/local/mysql/mypubkey.pem
  3. Nếu bạn muốn thay đổi số lượng vòng băm được sử dụng bởi

    [mysqld]
    default_authentication_plugin=caching_sha2_password
    3 trong quá trình tạo mật khẩu, hãy đặt biến hệ thống
    mysql> SHOW STATUS LIKE 'Caching_sha2_password_rsa_public_key'\G
    *************************** 1. row ***************************
    Variable_name: Caching_sha2_password_rsa_public_key
            Value: -----BEGIN PUBLIC KEY-----
    MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDO9nRUDd+KvSZgY7cNBZMNpwX6
    MvE1PbJFXO7u18nJ9lwc99Du/E7lw6CVXw7VKrXPeHbVQUzGyUNkf45Nz/ckaaJa
    aLgJOBCIDmNVnyU54OT/1lcs2xiyfaDMe8fCJ64ZwTnKbY2gkt1IMjUAB5Ogd5kJ
    g8aV7EtKwyhHb0c30QIDAQAB
    -----END PUBLIC KEY-----
    1. Ví dụ:

    [mysqld]
    caching_sha2_password_digest_rounds=10000
  4. Khởi động lại máy chủ, sau đó kết nối với nó và kiểm tra giá trị biến trạng thái

    [mysqld]
    caching_sha2_password_private_key_path=myprivkey.pem
    caching_sha2_password_public_key_path=mypubkey.pem
    9. Giá trị thực sự hiển thị khác với giá trị được hiển thị ở đây, nhưng phải không trống:

    mysql> SHOW STATUS LIKE 'Caching_sha2_password_rsa_public_key'\G
    *************************** 1. row ***************************
    Variable_name: Caching_sha2_password_rsa_public_key
            Value: -----BEGIN PUBLIC KEY-----
    MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDO9nRUDd+KvSZgY7cNBZMNpwX6
    MvE1PbJFXO7u18nJ9lwc99Du/E7lw6CVXw7VKrXPeHbVQUzGyUNkf45Nz/ckaaJa
    aLgJOBCIDmNVnyU54OT/1lcs2xiyfaDMe8fCJ64ZwTnKbY2gkt1IMjUAB5Ogd5kJ
    g8aV7EtKwyhHb0c30QIDAQAB
    -----END PUBLIC KEY-----

    Nếu giá trị trống, máy chủ đã tìm thấy một số vấn đề với các tệp chính. Kiểm tra nhật ký lỗi để biết thông tin chẩn đoán.

Sau khi máy chủ được cấu hình với các tệp khóa RSA, các tài khoản xác thực với plugin

[mysqld]
default_authentication_plugin=caching_sha2_password
3 có tùy chọn sử dụng các tệp khóa đó để kết nối với máy chủ. Như đã đề cập trước đây, các tài khoản đó có thể sử dụng kết nối an toàn (trong trường hợp RSA không được sử dụng) hoặc kết nối không được mã hóa thực hiện trao đổi mật khẩu bằng RSA. Giả sử rằng một kết nối không được mã hóa được sử dụng. Ví dụ:

$> mysql --ssl-mode=DISABLED -u sha2user -p
Enter password: password

Đối với kết nối này,

mysql> SHOW STATUS LIKE 'Caching_sha2_password_rsa_public_key'\G
*************************** 1. row ***************************
Variable_name: Caching_sha2_password_rsa_public_key
        Value: -----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDO9nRUDd+KvSZgY7cNBZMNpwX6
MvE1PbJFXO7u18nJ9lwc99Du/E7lw6CVXw7VKrXPeHbVQUzGyUNkf45Nz/ckaaJa
aLgJOBCIDmNVnyU54OT/1lcs2xiyfaDMe8fCJ64ZwTnKbY2gkt1IMjUAB5Ogd5kJ
g8aV7EtKwyhHb0c30QIDAQAB
-----END PUBLIC KEY-----
4, máy chủ xác định rằng
[mysqld]
default_authentication_plugin=caching_sha2_password
3 là plugin xác thực phù hợp và gọi nó (vì đó là plugin được chỉ định vào thời gian ____76). Plugin thấy rằng kết nối không được mã hóa và do đó yêu cầu mật khẩu được truyền bằng mã hóa RSA. Tuy nhiên, máy chủ không gửi khóa công khai cho máy khách và máy khách không cung cấp khóa công khai, vì vậy nó không thể mã hóa mật khẩu và kết nối không thành công:

ERROR 2061 (HY000): Authentication plugin 'caching_sha2_password'
reported error: Authentication requires secure connection.

Để yêu cầu khóa công khai RSA từ máy chủ, chỉ định tùy chọn

[mysqld]
caching_sha2_password_private_key_path=/usr/local/mysql/myprivkey.pem
caching_sha2_password_public_key_path=/usr/local/mysql/mypubkey.pem
3:

[mysqld]
default_authentication_plugin=caching_sha2_password
0

Trong trường hợp này, máy chủ gửi khóa công khai RSA cho máy khách, sử dụng nó để mã hóa mật khẩu và trả về kết quả cho máy chủ. Plugin sử dụng khóa riêng RSA ở phía máy chủ để giải mã mật khẩu và chấp nhận hoặc từ chối kết nối dựa trên việc mật khẩu có chính xác hay không.

Ngoài ra, nếu máy khách có một tệp chứa một bản sao cục bộ của khóa công khai RSA theo yêu cầu của máy chủ, nó có thể chỉ định tệp bằng tùy chọn

[mysqld]
caching_sha2_password_private_key_path=/usr/local/mysql/myprivkey.pem
caching_sha2_password_public_key_path=/usr/local/mysql/mypubkey.pem
2:

[mysqld]
default_authentication_plugin=caching_sha2_password
1

Trong trường hợp này, máy khách sử dụng khóa công khai để mã hóa mật khẩu và trả về kết quả cho máy chủ. Plugin sử dụng khóa riêng RSA ở phía máy chủ để giải mã mật khẩu và chấp nhận hoặc từ chối kết nối dựa trên việc mật khẩu có chính xác hay không.

Giá trị khóa công khai trong tệp được đặt tên bởi tùy chọn

[mysqld]
caching_sha2_password_private_key_path=/usr/local/mysql/myprivkey.pem
caching_sha2_password_public_key_path=/usr/local/mysql/mypubkey.pem
2 phải giống như giá trị chính trong tệp phía máy chủ được đặt tên bởi biến hệ thống
[mysqld]
caching_sha2_password_private_key_path=myprivkey.pem
caching_sha2_password_public_key_path=mypubkey.pem
7. Nếu tệp khóa chứa giá trị khóa công khai hợp lệ nhưng giá trị không chính xác, xảy ra lỗi xác định truy cập. Nếu tệp khóa không chứa khóa công khai hợp lệ, chương trình máy khách không thể sử dụng nó.

Người dùng khách hàng có thể có được khóa công khai RSA theo hai cách:

  • Quản trị viên cơ sở dữ liệu có thể cung cấp một bản sao của tệp khóa công khai.

  • Người dùng ứng dụng khách có thể kết nối với máy chủ một số cách khác có thể sử dụng câu lệnh

    $> mysql --ssl-mode=DISABLED -u sha2user -p
    Enter password: password
    1 và lưu giá trị khóa được trả về trong một tệp.

Hoạt động của bộ nhớ cache để xác thực có thể cắm SHA-2

Về phía máy chủ, plugin

[mysqld]
default_authentication_plugin=caching_sha2_password
3 sử dụng bộ đệm trong bộ nhớ để xác thực nhanh hơn các máy khách đã kết nối trước đó. Các mục bao gồm các cặp tên tài khoản/mật khẩu. Bộ nhớ cache hoạt động như thế này:

  1. Khi khách hàng kết nối,

    [mysqld]
    default_authentication_plugin=caching_sha2_password
    3 kiểm tra xem máy khách và mật khẩu có khớp với một số mục nhập bộ đệm hay không. Nếu vậy, xác thực thành công.

  2. Nếu không có mục nhập bộ nhớ cache phù hợp, plugin sẽ cố gắng xác minh máy khách dựa trên thông tin đăng nhập trong bảng hệ thống

    CREATE USER 'nativeuser'@'localhost'
    IDENTIFIED WITH mysql_native_password BY 'password';
    6. Nếu điều này thành công,
    [mysqld]
    default_authentication_plugin=caching_sha2_password
    3 sẽ thêm một mục cho khách hàng vào băm. Nếu không, xác thực thất bại và kết nối bị từ chối.

Theo cách này, khi khách hàng lần đầu tiên kết nối, xác thực đối với bảng hệ thống

CREATE USER 'nativeuser'@'localhost'
IDENTIFIED WITH mysql_native_password BY 'password';
6 xảy ra. Khi khách hàng kết nối sau đó, xác thực nhanh hơn đối với bộ đệm xảy ra.

Các hoạt động của bộ đệm mật khẩu ngoài việc thêm các mục được xử lý bởi plugin kiểm toán

CREATE USER 'sha2user'@'localhost' IDENTIFIED BY 'password';
8, thực hiện các hành động này thay mặt cho
[mysqld]
default_authentication_plugin=caching_sha2_password
3:

  • Nó xóa mục nhập bộ nhớ cache cho bất kỳ tài khoản nào được đổi tên hoặc bỏ hoặc bất kỳ tài khoản nào mà thông tin đăng nhập hoặc plugin xác thực được thay đổi.

  • Nó làm trống bộ đệm khi câu lệnh

    $> mysql --ssl-mode=DISABLED -u sha2user -p
    Enter password: password
    9 được thực thi.

  • Nó làm trống bộ nhớ cache khi tắt máy chủ. (Điều này có nghĩa là bộ đệm không tồn tại trong khi khởi động lại máy chủ.)

Hoạt động xóa bộ đệm ảnh hưởng đến các yêu cầu xác thực cho các kết nối máy khách tiếp theo. Đối với mỗi tài khoản người dùng, kết nối máy khách đầu tiên cho người dùng sau bất kỳ hoạt động nào sau đây phải sử dụng kết nối an toàn (được thực hiện bằng cách sử dụng thông tin đăng nhập TLS, tệp ổ cắm UNIX hoặc bộ nhớ chia sẻ) hoặc trao đổi mật khẩu dựa trên cặp khóa RSA:

  • Sau khi tạo tài khoản.

  • Sau khi thay đổi mật khẩu cho tài khoản.

  • Sau

    ERROR 2061 (HY000): Authentication plugin 'caching_sha2_password'
    reported error: Authentication requires secure connection.
    0 cho tài khoản.

  • Sau

    ERROR 2061 (HY000): Authentication plugin 'caching_sha2_password'
    reported error: Authentication requires secure connection.
    1.

ERROR 2061 (HY000): Authentication plugin 'caching_sha2_password'
reported error: Authentication requires secure connection.
1 Xóa toàn bộ bộ đệm và ảnh hưởng đến tất cả các tài khoản sử dụng plugin
[mysqld]
default_authentication_plugin=caching_sha2_password
3. Các hoạt động khác xóa các mục bộ đệm cụ thể và chỉ ảnh hưởng đến các tài khoản là một phần của hoạt động.

Khi người dùng xác thực thành công, tài khoản được nhập vào bộ đệm và các kết nối tiếp theo không yêu cầu kết nối an toàn hoặc cặp khóa RSA, cho đến khi một sự kiện xóa bộ đệm khác xảy ra ảnh hưởng đến tài khoản..