Hướng dẫn mysql 5.7 config file - tệp cấu hình mysql 5.7

6.3.1 & NBSP; Định cấu hình MySQL để sử dụng các kết nối được mã hóa

Một số tham số cấu hình có sẵn để cho biết có nên sử dụng các kết nối được mã hóa hay không và để chỉ định chứng chỉ và tệp khóa thích hợp. Phần này cung cấp hướng dẫn chung về việc định cấu hình máy chủ và máy khách cho các kết nối được mã hóa:

  • Cấu hình khởi động phía máy chủ cho các kết nối được mã hóa

  • Cấu hình phía máy khách cho các kết nối được mã hóa

  • Định cấu hình các kết nối được mã hóa là bắt buộc

Các kết nối được mã hóa cũng có thể được sử dụng trong các bối cảnh khác, như được thảo luận trong các phần bổ sung này:

  • Giữa các máy chủ nguồn và bản sao. Xem Phần & NBSP; 16.3.8, Thiết lập bản sao để sử dụng các kết nối được mã hóa.

  • Trong số các máy chủ sao chép nhóm. Xem Phần & NBSP; 17.6.2, Hỗ trợ Lớp ổ cắm bảo mật sao chép nhóm (SSL) của nhóm.

  • Bởi các chương trình khách hàng dựa trên API MySQL C. Xem hỗ trợ cho các kết nối được mã hóa.

Hướng dẫn tạo bất kỳ chứng chỉ và tệp khóa cần thiết nào có sẵn trong Phần & NBSP; 6.3.3, Tạo chứng chỉ SSL và RSA và khóa.

Cấu hình khởi động phía máy chủ cho các kết nối được mã hóa

Cấu hình phía máy khách cho các kết nối được mã hóa

Định cấu hình các kết nối được mã hóa là bắt buộc

Các kết nối được mã hóa cũng có thể được sử dụng trong các bối cảnh khác, như được thảo luận trong các phần bổ sung này:

  • Giữa các máy chủ nguồn và bản sao. Xem Phần & NBSP; 16.3.8, Thiết lập bản sao để sử dụng các kết nối được mã hóa.

  • Trong số các máy chủ sao chép nhóm. Xem Phần & NBSP; 17.6.2, Hỗ trợ Lớp ổ cắm bảo mật sao chép nhóm (SSL) của nhóm.

  • Bởi các chương trình khách hàng dựa trên API MySQL C. Xem hỗ trợ cho các kết nối được mã hóa.

Hướng dẫn tạo bất kỳ chứng chỉ và tệp khóa cần thiết nào có sẵn trong Phần & NBSP; 6.3.3, Tạo chứng chỉ SSL và RSA và khóa.

[mysqld]
ssl_ca=ca.pem
ssl_cert=server-cert.pem
ssl_key=server-key.pem

Về phía máy chủ, tùy chọn

[mysqld]
ssl_ca=ca.pem
ssl_cert=server-cert.pem
ssl_key=server-key.pem
require_secure_transport=ON
3 chỉ định rằng máy chủ cho phép nhưng không yêu cầu các kết nối được mã hóa. Tùy chọn này được bật theo mặc định, vì vậy nó không cần phải được chỉ định rõ ràng.

[mysqld]
ssl_ca=ca.pem
ssl_cert=server-cert.pem
ssl_key=server-key.pem
require_secure_transport=ON

Để yêu cầu khách hàng kết nối bằng cách sử dụng các kết nối được mã hóa, bật biến hệ thống

[mysqld]
ssl_ca=ca.pem
ssl_cert=server-cert.pem
ssl_key=server-key.pem
require_secure_transport=ON
4. Xem cấu hình các kết nối được mã hóa là bắt buộc.

Các biến hệ thống này ở phía máy chủ chỉ định các tệp chứng chỉ và khóa mà máy chủ sử dụng khi cho phép khách hàng thiết lập các kết nối được mã hóa:

  • [mysqld]
    ssl_ca=ca.pem
    ssl_cert=server-cert.pem
    ssl_key=server-key.pem
    require_secure_transport=ON
    5: Tên đường dẫn của tệp chứng chỉ của Cơ quan chứng chỉ (CA). (
    [mysqld]
    ssl_ca=ca.pem
    ssl_cert=server-cert.pem
    ssl_key=server-key.pem
    require_secure_transport=ON
    6 là tương tự nhưng chỉ định tên đường dẫn của thư mục của các tệp chứng chỉ CA.)

  • [mysqld]
    ssl_ca=ca.pem
    ssl_cert=server-cert.pem
    ssl_key=server-key.pem
    require_secure_transport=ON
    7: Tên đường dẫn của tệp chứng chỉ khóa công khai máy chủ. Giấy chứng nhận này có thể được gửi cho khách hàng và được xác thực theo chứng chỉ CA mà nó có.

[mysqld]
ssl_ca=ca.pem
ssl_cert=server-cert.pem
ssl_key=server-key.pem
require_secure_transport=ON
8: Tên đường dẫn của tệp khóa riêng của máy chủ.mysql_ssl_rsa_setup.)

Ví dụ: để kích hoạt máy chủ cho các kết nối được mã hóa, hãy khởi động nó với các dòng này trong tệp

[mysqld]
ssl_ca=ca.pem
ssl_cert=server-cert.pem
ssl_key=server-key.pem
require_secure_transport=ON
9, thay đổi tên tệp khi cần thiết:

  • Để chỉ định ngoài ra rằng máy khách được yêu cầu sử dụng các kết nối được mã hóa, hãy bật biến hệ thống

    [mysqld]
    ssl_ca=ca.pem
    ssl_cert=server-cert.pem
    ssl_key=server-key.pem
    require_secure_transport=ON
    4:

  • Mỗi biến chứng chỉ và biến hệ thống chính tên một tệp ở định dạng PEM. Nếu bạn cần tạo chứng chỉ cần thiết và các tệp chính, xem Phần & NBSP; 6.3.3, Tạo chứng chỉ SSL và RSA và khóa. Các máy chủ MySQL được biên dịch bằng OpenSSL có thể tự động tạo các tệp chứng chỉ và khóa bị thiếu khi khởi động. Xem Phần & NBSP; 6.3.3.1, Tạo các chứng chỉ và khóa SSL và RSA bằng MySQL. Ngoài ra, nếu bạn có phân phối nguồn MySQL, bạn có thể kiểm tra thiết lập của mình bằng chứng chỉ trình diễn và các tệp khóa trong thư mục

    mysql
    1 của nó.

  • Máy chủ thực hiện chứng chỉ và tệp chính tự động khám phá. Nếu không có tùy chọn kết nối được mã hóa rõ ràng nào được đưa ra ngoài

    [mysqld]
    ssl_ca=ca.pem
    ssl_cert=server-cert.pem
    ssl_key=server-key.pem
    require_secure_transport=ON
    3 (có thể cùng với
    mysql
    3) để định cấu hình các kết nối được mã hóa, máy chủ sẽ cố gắng bật hỗ trợ kết nối được mã hóa tự động khi khởi động:

Cấu hình phía máy khách cho các kết nối được mã hóa

Để biết danh sách đầy đủ các tùy chọn máy khách liên quan đến việc thiết lập các kết nối được mã hóa, hãy xem các tùy chọn lệnh cho các kết nối được mã hóa.

Theo mặc định, các chương trình máy khách MySQL cố gắng thiết lập kết nối được mã hóa nếu máy chủ hỗ trợ các kết nối được mã hóa, với điều khiển tiếp theo có sẵn thông qua tùy chọn

mysql --ssl-mode=PREFERRED
2:

  • Trong trường hợp không có tùy chọn

    mysql --ssl-mode=PREFERRED
    2, khách hàng cố gắng kết nối bằng mã hóa, rơi trở lại kết nối không được mã hóa nếu không thể thiết lập kết nối được mã hóa. Đây cũng là hành vi với tùy chọn
    mysql --ssl-mode=PREFERRED
    4 rõ ràng.

  • Với

    mysql --ssl-mode=PREFERRED
    5, khách hàng yêu cầu kết nối được mã hóa và thất bại nếu không thể thiết lập được.

  • Với

    mysql --ssl-mode=PREFERRED
    6, khách hàng sử dụng kết nối không được mã hóa.

  • Với

    mysql --ssl-mode=PREFERRED
    7 hoặc
    mysql --ssl-mode=PREFERRED
    8, máy khách yêu cầu kết nối được mã hóa và cũng thực hiện xác minh đối với chứng chỉ CA của máy chủ và (với
    mysql --ssl-mode=PREFERRED
    9) so với tên máy chủ máy chủ trong chứng chỉ của nó.

Quan trọng

Cài đặt mặc định,

mysql --ssl-mode=PREFERRED
4, tạo kết nối được mã hóa nếu các cài đặt mặc định khác không thay đổi. Tuy nhiên, để giúp ngăn chặn các cuộc tấn công giữa người đàn ông tinh vi, điều quan trọng là khách hàng phải xác minh danh tính máy chủ. Cài đặt
mysql --ssl-mode=PREFERRED
7 và
mysql --ssl-mode=PREFERRED
8 là một lựa chọn tốt hơn so với cài đặt mặc định để giúp ngăn chặn loại tấn công này.
mysql --ssl-mode=REQUIRED
3 làm cho máy khách kiểm tra xem chứng chỉ máy chủ có hợp lệ không.
mysql --ssl-mode=PREFERRED
9 Làm cho máy khách kiểm tra xem chứng chỉ máy chủ có hợp lệ không và cũng làm cho máy khách kiểm tra xem tên máy chủ mà máy khách đang sử dụng có khớp với danh tính trong chứng chỉ máy chủ không. Để thực hiện một trong các cài đặt này, trước tiên bạn phải đảm bảo rằng chứng chỉ CA cho máy chủ có sẵn một cách đáng tin cậy cho tất cả các máy khách sử dụng nó trong môi trường của bạn, nếu không các vấn đề sẵn có sẽ dẫn đến. Vì lý do này, chúng không phải là cài đặt mặc định.

Nỗ lực thiết lập kết nối không được mã hóa không thành công nếu biến hệ thống

[mysqld]
ssl_ca=ca.pem
ssl_cert=server-cert.pem
ssl_key=server-key.pem
require_secure_transport=ON
4 được bật ở phía máy chủ để khiến máy chủ yêu cầu các kết nối được mã hóa. Xem cấu hình các kết nối được mã hóa là bắt buộc.

Các tùy chọn sau đây ở phía máy khách xác định chứng chỉ và các tệp chính mà khách hàng sử dụng khi thiết lập các kết nối được mã hóa đến máy chủ. Chúng tương tự như các biến hệ thống

[mysqld]
ssl_ca=ca.pem
ssl_cert=server-cert.pem
ssl_key=server-key.pem
require_secure_transport=ON
5,
[mysqld]
ssl_ca=ca.pem
ssl_cert=server-cert.pem
ssl_key=server-key.pem
require_secure_transport=ON
7 và
[mysqld]
ssl_ca=ca.pem
ssl_cert=server-cert.pem
ssl_key=server-key.pem
require_secure_transport=ON
8 được sử dụng ở phía máy chủ, nhưng
mysql --ssl-mode=REQUIRED
9 và
mysql --ssl-ca=ca.pem
      --ssl-cert=client-cert.pem
      --ssl-key=client-key.pem
0 Xác định khóa công khai và riêng tư của khách hàng:

  • mysql --ssl-ca=ca.pem
          --ssl-cert=client-cert.pem
          --ssl-key=client-key.pem
    1: Tên đường dẫn của tệp chứng chỉ của Cơ quan chứng chỉ (CA). Tùy chọn này, nếu được sử dụng, phải chỉ định cùng một chứng chỉ được sử dụng bởi máy chủ. (
    mysql --ssl-ca=ca.pem
          --ssl-cert=client-cert.pem
          --ssl-key=client-key.pem
    2 tương tự nhưng chỉ định tên đường dẫn của thư mục của các tệp chứng chỉ CA.)

  • mysql --ssl-mode=REQUIRED
    9: Tên đường dẫn của tệp chứng chỉ khóa công khai máy khách.

  • mysql --ssl-ca=ca.pem
          --ssl-cert=client-cert.pem
          --ssl-key=client-key.pem
    0: Tên đường dẫn của tệp khóa riêng của máy khách.

Để có thêm bảo mật liên quan đến quy định của mã hóa mặc định, máy khách có thể cung cấp chứng chỉ CA khớp với máy chủ được sử dụng và kích hoạt xác minh nhận dạng tên máy chủ. Theo cách này, máy chủ và máy khách đặt niềm tin của họ vào cùng một chứng chỉ CA và máy khách xác minh rằng máy chủ mà nó kết nối là một dự định:

  • Để chỉ định chứng chỉ CA, sử dụng

    mysql --ssl-ca=ca.pem
          --ssl-cert=client-cert.pem
          --ssl-key=client-key.pem
    1 (hoặc
    mysql --ssl-ca=ca.pem
          --ssl-cert=client-cert.pem
          --ssl-key=client-key.pem
    2) và chỉ định
    mysql --ssl-mode=PREFERRED
    7.

  • Để cho phép xác minh nhận dạng tên máy chủ, hãy sử dụng

    mysql --ssl-mode=PREFERRED
    8 thay vì
    mysql --ssl-mode=PREFERRED
    7.

Ghi chú

Xác minh nhận dạng tên máy chủ với

mysql --ssl-mode=PREFERRED
9 không hoạt động với các chứng chỉ tự ký được tạo tự động bởi máy chủ hoặc bằng cách sử dụng thủ công mysql_ssl_rsa_setup (xem phần & nbsp; 6.3.3.1 Các chứng chỉ tự ký như vậy không chứa tên máy chủ là giá trị tên chung.mysql_ssl_rsa_setup (see Section 6.3.3.1, “Creating SSL and RSA Certificates and Keys using MySQL”). Such self-signed certificates do not contain the server name as the Common Name value.

Trước MySQL 5.7.23, xác minh nhận dạng tên máy chủ cũng không hoạt động với các chứng chỉ chỉ định tên chung bằng cách sử dụng ký tự đại diện vì tên đó được so sánh nguyên văn với tên máy chủ.

MySQL cũng cung cấp các tùy chọn này cho điều khiển kết nối được mã hóa phía máy khách:

  • mysql --ssl-mode=DISABLED
    1: Danh sách các mật mã cho phép để mã hóa kết nối.

  • mysql --ssl-mode=DISABLED
    2: Tên đường dẫn của tệp chứa danh sách thu hồi chứng chỉ. (
    mysql --ssl-mode=DISABLED
    3 tương tự nhưng chỉ định tên đường dẫn của thư mục các tệp danh sách thu hồi chứng chỉ.)

  • mysql --ssl-mode=DISABLED
    4: Các giao thức mã hóa được phép; Xem Phần & NBSP; 6.3.2, Giao thức TLS kết nối được mã hóa và mật mã.

Tùy thuộc vào các yêu cầu mã hóa của tài khoản MySQL được khách hàng sử dụng, máy khách có thể được yêu cầu chỉ định một số tùy chọn nhất định để kết nối bằng mã hóa với máy chủ MySQL.

Giả sử rằng bạn muốn kết nối bằng cách sử dụng một tài khoản không có yêu cầu mã hóa đặc biệt hoặc được tạo bằng cách sử dụng câu lệnh

mysql --ssl-mode=DISABLED
5 bao gồm mệnh đề
mysql --ssl-mode=DISABLED
6. Giả sử rằng máy chủ hỗ trợ các kết nối được mã hóa, máy khách có thể kết nối bằng cách sử dụng mã hóa không có tùy chọn
mysql --ssl-mode=PREFERRED
2 hoặc với tùy chọn
mysql --ssl-mode=PREFERRED
4 rõ ràng:

mysql

Hoặc:

mysql --ssl-mode=PREFERRED

Đối với một tài khoản được tạo với mệnh đề

mysql --ssl-mode=DISABLED
6, nỗ lực kết nối không thành công nếu không thể thiết lập kết nối được mã hóa. Đối với một tài khoản không có yêu cầu mã hóa đặc biệt, nỗ lực rơi trở lại kết nối không được mã hóa nếu không thể thiết lập kết nối được mã hóa. Để ngăn chặn dự phòng và thất bại nếu không thể có được kết nối được mã hóa, hãy kết nối như thế này:

mysql --ssl-mode=REQUIRED

Nếu tài khoản có các yêu cầu bảo mật nghiêm ngặt hơn, các tùy chọn khác phải được chỉ định để thiết lập kết nối được mã hóa:

  • Đối với các tài khoản được tạo với mệnh đề

    mysql> SHOW SESSION STATUS LIKE 'Ssl_cipher';
    +---------------+---------------------------+
    | Variable_name | Value                     |
    +---------------+---------------------------+
    | Ssl_cipher    | DHE-RSA-AES128-GCM-SHA256 |
    +---------------+---------------------------+
    0, máy khách phải chỉ định ít nhất
    mysql --ssl-mode=REQUIRED
    9 và
    mysql --ssl-ca=ca.pem
          --ssl-cert=client-cert.pem
          --ssl-key=client-key.pem
    0. Ngoài ra,
    mysql --ssl-ca=ca.pem
          --ssl-cert=client-cert.pem
          --ssl-key=client-key.pem
    1 (hoặc
    mysql --ssl-ca=ca.pem
          --ssl-cert=client-cert.pem
          --ssl-key=client-key.pem
    2) được khuyến nghị để chứng chỉ công cộng do máy chủ cung cấp có thể được xác minh. Ví dụ: nhập lệnh trên một dòng):

    mysql --ssl-ca=ca.pem
          --ssl-cert=client-cert.pem
          --ssl-key=client-key.pem
  • Đối với các tài khoản được tạo bằng mệnh đề

    mysql> SHOW SESSION STATUS LIKE 'Ssl_cipher';
    +---------------+---------------------------+
    | Variable_name | Value                     |
    +---------------+---------------------------+
    | Ssl_cipher    | DHE-RSA-AES128-GCM-SHA256 |
    +---------------+---------------------------+
    5 hoặc
    mysql> SHOW SESSION STATUS LIKE 'Ssl_cipher';
    +---------------+---------------------------+
    | Variable_name | Value                     |
    +---------------+---------------------------+
    | Ssl_cipher    | DHE-RSA-AES128-GCM-SHA256 |
    +---------------+---------------------------+
    6, các yêu cầu mã hóa giống như đối với
    mysql> SHOW SESSION STATUS LIKE 'Ssl_cipher';
    +---------------+---------------------------+
    | Variable_name | Value                     |
    +---------------+---------------------------+
    | Ssl_cipher    | DHE-RSA-AES128-GCM-SHA256 |
    +---------------+---------------------------+
    0, nhưng chứng chỉ phải phù hợp với vấn đề hoặc đối tượng, tương ứng, được chỉ định trong định nghĩa tài khoản.

Để biết thêm thông tin về mệnh đề

mysql> SHOW SESSION STATUS LIKE 'Ssl_cipher';
+---------------+---------------------------+
| Variable_name | Value                     |
+---------------+---------------------------+
| Ssl_cipher    | DHE-RSA-AES128-GCM-SHA256 |
+---------------+---------------------------+
8, xem Phần & NBSP; 13.7.1.2, Tạo câu lệnh của người dùng.

Máy chủ MySQL có thể tạo chứng chỉ máy khách và các tệp chính mà máy khách có thể sử dụng để kết nối với các phiên bản MYSQL Server. Xem Phần & NBSP; 6.3.3, Tạo chứng chỉ SSL và RSA và khóa.

Quan trọng

Nếu máy khách kết nối với cá thể máy chủ MySQL sử dụng chứng chỉ SSL với tiện ích mở rộng

mysql> SHOW SESSION STATUS LIKE 'Ssl_cipher';
+---------------+---------------------------+
| Variable_name | Value                     |
+---------------+---------------------------+
| Ssl_cipher    | DHE-RSA-AES128-GCM-SHA256 |
+---------------+---------------------------+
9 (tiện ích mở rộng X.509 V3), việc sử dụng khóa mở rộng phải bao gồm xác thực máy khách (
mysql> \s
...
SSL: Not in use
...
0). Nếu chứng chỉ SSL chỉ được chỉ định để xác thực máy chủ (
mysql> \s
...
SSL: Not in use
...
1) và các mục đích chứng chỉ không phải là máy tính khác, xác minh chứng chỉ sẽ không thành công và kết nối máy khách với phiên bản máy chủ MySQL không thành công. Không có tiện ích mở rộng
mysql> SHOW SESSION STATUS LIKE 'Ssl_cipher';
+---------------+---------------------------+
| Variable_name | Value                     |
+---------------+---------------------------+
| Ssl_cipher    | DHE-RSA-AES128-GCM-SHA256 |
+---------------+---------------------------+
9 trong các chứng chỉ SSL được tạo bởi máy chủ MySQL (như được mô tả trong Phần & NBSP; 6.3.3.1, Chứng chỉ SSL và RSA và các khóa sử dụng các chứng chỉ MYSQL) và các chứng chỉ SSL được tạo bằng lệnh OpenSSL theo hướng dẫn trong Phần & NBSP; 6.3 .3.2, Tạo các chứng chỉ và khóa SSL bằng cách sử dụng OpenSSL. Nếu bạn sử dụng chứng chỉ máy khách của riêng mình được tạo theo một cách khác, hãy đảm bảo bất kỳ tiện ích mở rộng
mysql> SHOW SESSION STATUS LIKE 'Ssl_cipher';
+---------------+---------------------------+
| Variable_name | Value                     |
+---------------+---------------------------+
| Ssl_cipher    | DHE-RSA-AES128-GCM-SHA256 |
+---------------+---------------------------+
9 nào bao gồm xác thực máy khách.openssl command following the instructions in Section 6.3.3.2, “Creating SSL Certificates and Keys Using openssl”. If you use your own client certificate created in another way, ensure any
mysql> SHOW SESSION STATUS LIKE 'Ssl_cipher';
+---------------+---------------------------+
| Variable_name | Value                     |
+---------------+---------------------------+
| Ssl_cipher    | DHE-RSA-AES128-GCM-SHA256 |
+---------------+---------------------------+
9 extension includes client authentication.

Để ngăn chặn việc sử dụng mã hóa và ghi đè các tùy chọn

mysql> \s
...
SSL: Not in use
...
4 khác, hãy gọi chương trình máy khách bằng
mysql --ssl-mode=PREFERRED
6:

mysql --ssl-mode=DISABLED

Để xác định xem kết nối hiện tại với máy chủ có sử dụng mã hóa hay không, hãy kiểm tra giá trị phiên của biến trạng thái

mysql> \s
...
SSL: Not in use
...
6. Nếu giá trị trống, kết nối không được mã hóa. Mặt khác, kết nối được mã hóa và giá trị cho biết mật mã mã hóa. Ví dụ:

mysql> SHOW SESSION STATUS LIKE 'Ssl_cipher';
+---------------+---------------------------+
| Variable_name | Value                     |
+---------------+---------------------------+
| Ssl_cipher    | DHE-RSA-AES128-GCM-SHA256 |
+---------------+---------------------------+

Đối với máy khách MySQL, một giải pháp thay thế là sử dụng lệnh

mysql> \s
...
SSL: Not in use
...
7 hoặc
mysql> \s
...
SSL: Not in use
...
8 và kiểm tra dòng
mysql> \s
...
SSL: Not in use
...
9:mysql client, an alternative is to use the
mysql> \s
...
SSL: Not in use
...
7 or
mysql> \s
...
SSL: Not in use
...
8 command and check the
mysql> \s
...
SSL: Not in use
...
9 line:

mysql> \s
...
SSL: Not in use
...

Hoặc:

mysql> \s
...
SSL: Cipher in use is DHE-RSA-AES128-GCM-SHA256
...

Định cấu hình các kết nối được mã hóa là bắt buộc

Đối với một số triển khai MySQL, có thể không chỉ mong muốn mà bắt buộc phải sử dụng các kết nối được mã hóa (ví dụ, để đáp ứng các yêu cầu quy định). Phần này thảo luận về cài đặt cấu hình cho phép bạn thực hiện việc này. Các cấp kiểm soát này có sẵn:

  • Bạn có thể định cấu hình máy chủ để yêu cầu máy khách kết nối bằng các kết nối được mã hóa.

  • Bạn có thể gọi các chương trình khách hàng riêng lẻ để yêu cầu kết nối được mã hóa, ngay cả khi máy chủ cho phép nhưng không yêu cầu mã hóa.

  • Bạn có thể định cấu hình các tài khoản MySQL riêng lẻ để chỉ có thể sử dụng qua các kết nối được mã hóa.

Để yêu cầu khách hàng kết nối bằng cách sử dụng các kết nối được mã hóa, bật biến hệ thống

[mysqld]
ssl_ca=ca.pem
ssl_cert=server-cert.pem
ssl_key=server-key.pem
require_secure_transport=ON
4. Ví dụ: đặt các dòng này vào tệp máy chủ
[mysqld]
ssl_ca=ca.pem
ssl_cert=server-cert.pem
ssl_key=server-key.pem
require_secure_transport=ON
9:

[mysqld]
ssl_ca=ca.pem
ssl_cert=server-cert.pem
ssl_key=server-key.pem
require_secure_transport=ON
0

Với

[mysqld]
ssl_ca=ca.pem
ssl_cert=server-cert.pem
ssl_key=server-key.pem
require_secure_transport=ON
4 được bật, các kết nối máy khách đến máy chủ được yêu cầu sử dụng một số hình thức vận chuyển an toàn và máy chủ chỉ cho phép các kết nối TCP/IP sử dụng SSL hoặc kết nối sử dụng tệp ổ cắm (trên UNIX) hoặc bộ nhớ được chia sẻ (trên Windows) . Máy chủ từ chối các nỗ lực kết nối không phân biệt, không thành công với lỗi
mysql> \s
...
SSL: Cipher in use is DHE-RSA-AES128-GCM-SHA256
...
3.

Để gọi một chương trình máy khách sao cho nó yêu cầu kết nối được mã hóa cho dù máy chủ có yêu cầu mã hóa hay không, hãy sử dụng giá trị tùy chọn

mysql --ssl-mode=PREFERRED
2 là
mysql> \s
...
SSL: Cipher in use is DHE-RSA-AES128-GCM-SHA256
...
5,
mysql --ssl-mode=REQUIRED
3 hoặc
mysql --ssl-mode=PREFERRED
9. Ví dụ:

[mysqld]
ssl_ca=ca.pem
ssl_cert=server-cert.pem
ssl_key=server-key.pem
require_secure_transport=ON
1

Để định cấu hình tài khoản MySQL chỉ có thể sử dụng được qua các kết nối được mã hóa, bao gồm một mệnh đề

mysql> SHOW SESSION STATUS LIKE 'Ssl_cipher';
+---------------+---------------------------+
| Variable_name | Value                     |
+---------------+---------------------------+
| Ssl_cipher    | DHE-RSA-AES128-GCM-SHA256 |
+---------------+---------------------------+
8 trong câu lệnh
mysql --ssl-mode=DISABLED
5 tạo tài khoản, chỉ định trong mệnh đề đó, các đặc điểm mã hóa bạn yêu cầu.Ví dụ: để yêu cầu kết nối được mã hóa và sử dụng chứng chỉ X.509 hợp lệ, sử dụng
mysql> SHOW SESSION STATUS LIKE 'Ssl_cipher';
+---------------+---------------------------+
| Variable_name | Value                     |
+---------------+---------------------------+
| Ssl_cipher    | DHE-RSA-AES128-GCM-SHA256 |
+---------------+---------------------------+
0:

[mysqld]
ssl_ca=ca.pem
ssl_cert=server-cert.pem
ssl_key=server-key.pem
require_secure_transport=ON
2

Để biết thêm thông tin về mệnh đề

mysql> SHOW SESSION STATUS LIKE 'Ssl_cipher';
+---------------+---------------------------+
| Variable_name | Value                     |
+---------------+---------------------------+
| Ssl_cipher    | DHE-RSA-AES128-GCM-SHA256 |
+---------------+---------------------------+
8, xem Phần & NBSP; 13.7.1.2, Tạo câu lệnh của người dùng.

Để sửa đổi các tài khoản hiện có không có yêu cầu mã hóa, hãy sử dụng câu lệnh

[mysqld]
ssl_ca=ca.pem
ssl_cert=server-cert.pem
ssl_key=server-key.pem
require_secure_transport=ON
02.