Hướng dẫn early-plugin-load mysql - mysql tải plugin sớm

6.4.4.1 & NBSP; Cài đặt plugin Keyring

Người tiêu dùng dịch vụ Keyring yêu cầu một plugin Keyring phải được cài đặt. Phần này mô tả cách cài đặt plugin Keyring mà bạn chọn. Ngoài ra, để biết thông tin chung về việc cài đặt các plugin, xem Phần & NBSP; 5.5.1, Cài đặt và gỡ cài đặt plugin.

Nếu bạn có ý định sử dụng các chức năng Keyring kết hợp với plugin Keyring đã chọn, hãy cài đặt các chức năng sau khi cài đặt plugin đó, sử dụng các hướng dẫn trong Phần & NBSP; 6.4.4.8, các chức năng quản lý khóa khóa đa năng chung.

Ghi chú

Chỉ có một plugin Keyring nên được bật tại một thời điểm. Việc cho phép nhiều plugin Keyring không được hỗ trợ và kết quả có thể không được dự đoán.

MySQL cung cấp các lựa chọn plugin khóa này:

  • keyring_file: Lưu trữ dữ liệu KEYRING trong một tệp cục bộ đến máy chủ máy chủ. Có sẵn trong Phân phối phiên bản cộng đồng MySQL và phiên bản Enterprise của MySQL.

  • keyring_encrypted_file: Lưu trữ dữ liệu KEYRING trong tệp được bảo vệ bằng mật khẩu, được bảo vệ bằng mật khẩu vào máy chủ máy chủ. Có sẵn trong phân phối phiên bản Enterprise của MySQL.

  • keyring_okv: plugin KMIP 1.1 để sử dụng với các sản phẩm lưu trữ Keyring Keyring tương thích KMIP như Oracle Key Vault và Gemalto Safenet Keysecure. Có sẵn trong phân phối phiên bản Enterprise của MySQL.

  • keyring_aws: Giao tiếp với Dịch vụ quản lý khóa dịch vụ web Amazon như một kết thúc ngược cho thế hệ chính và sử dụng tệp cục bộ để lưu trữ chính. Có sẵn trong phân phối phiên bản Enterprise của MySQL.

Để có thể sử dụng được bởi máy chủ, tệp thư viện plugin phải được đặt trong thư mục plugin MySQL (thư mục được đặt tên bởi biến hệ thống plugin_dir). Nếu cần, định cấu hình vị trí thư mục plugin bằng cách đặt giá trị của plugin_dir khi khởi động máy chủ.

Plugin Keyring phải được tải sớm trong chuỗi khởi động máy chủ để các thành phần có thể truy cập nó khi cần thiết trong quá trình khởi tạo của chính họ. Ví dụ: công cụ lưu trữ InnoDB sử dụng Keyring cho mã hóa không gian bảng, do đó, plugin khóa phải được tải và có sẵn trước khi khởi tạo InnoDB.

Cài đặt cho mỗi plugin Keyring là tương tự nhau. Các hướng dẫn sau đây mô tả cách cài đặt keyring_file. Để sử dụng một plugin Keyring khác, hãy thay thế tên của nó cho keyring_file.

Tên cơ sở tệp thư viện plugin keyring_filekeyring_file. Hậu tố tên tệp khác nhau trên mỗi nền tảng (ví dụ:

mysql> SELECT PLUGIN_NAME, PLUGIN_STATUS
       FROM INFORMATION_SCHEMA.PLUGINS
       WHERE PLUGIN_NAME LIKE 'keyring%';
+--------------+---------------+
| PLUGIN_NAME  | PLUGIN_STATUS |
+--------------+---------------+
| keyring_file | ACTIVE        |
+--------------+---------------+
4 cho các hệ thống UNIX và UNIX,
mysql> SELECT PLUGIN_NAME, PLUGIN_STATUS
       FROM INFORMATION_SCHEMA.PLUGINS
       WHERE PLUGIN_NAME LIKE 'keyring%';
+--------------+---------------+
| PLUGIN_NAME  | PLUGIN_STATUS |
+--------------+---------------+
| keyring_file | ACTIVE        |
+--------------+---------------+
5 cho Windows).

Để tải plugin, sử dụng tùy chọn

mysql> SELECT PLUGIN_NAME, PLUGIN_STATUS
       FROM INFORMATION_SCHEMA.PLUGINS
       WHERE PLUGIN_NAME LIKE 'keyring%';
+--------------+---------------+
| PLUGIN_NAME  | PLUGIN_STATUS |
+--------------+---------------+
| keyring_file | ACTIVE        |
+--------------+---------------+
6 để đặt tên cho tệp thư viện plugin có chứa nó. Ví dụ: trên các nền tảng trong đó hậu tố tệp thư viện plugin là
mysql> SELECT PLUGIN_NAME, PLUGIN_STATUS
       FROM INFORMATION_SCHEMA.PLUGINS
       WHERE PLUGIN_NAME LIKE 'keyring%';
+--------------+---------------+
| PLUGIN_NAME  | PLUGIN_STATUS |
+--------------+---------------+
| keyring_file | ACTIVE        |
+--------------+---------------+
4, hãy sử dụng các dòng này trong tệp máy chủ
mysql> SELECT PLUGIN_NAME, PLUGIN_STATUS
       FROM INFORMATION_SCHEMA.PLUGINS
       WHERE PLUGIN_NAME LIKE 'keyring%';
+--------------+---------------+
| PLUGIN_NAME  | PLUGIN_STATUS |
+--------------+---------------+
| keyring_file | ACTIVE        |
+--------------+---------------+
8, điều chỉnh hậu tố
mysql> SELECT PLUGIN_NAME, PLUGIN_STATUS
       FROM INFORMATION_SCHEMA.PLUGINS
       WHERE PLUGIN_NAME LIKE 'keyring%';
+--------------+---------------+
| PLUGIN_NAME  | PLUGIN_STATUS |
+--------------+---------------+
| keyring_file | ACTIVE        |
+--------------+---------------+
4 cho nền tảng của bạn khi cần thiết:

[mysqld]
early-plugin-load=keyring_file.so

Quan trọng

Trong MySQL 5.7.11, giá trị

mysql> SELECT PLUGIN_NAME, PLUGIN_STATUS
       FROM INFORMATION_SCHEMA.PLUGINS
       WHERE PLUGIN_NAME LIKE 'keyring%';
+--------------+---------------+
| PLUGIN_NAME  | PLUGIN_STATUS |
+--------------+---------------+
| keyring_file | ACTIVE        |
+--------------+---------------+
6 mặc định là tên của tệp thư viện plugin keyring_file, khiến plugin đó được tải theo mặc định. Trong MySQL 5.7.12 trở lên, giá trị
mysql> SELECT PLUGIN_NAME, PLUGIN_STATUS
       FROM INFORMATION_SCHEMA.PLUGINS
       WHERE PLUGIN_NAME LIKE 'keyring%';
+--------------+---------------+
| PLUGIN_NAME  | PLUGIN_STATUS |
+--------------+---------------+
| keyring_file | ACTIVE        |
+--------------+---------------+
6 mặc định trống rỗng; Để tải plugin keyring_file, bạn phải chỉ định rõ ràng tùy chọn với giá trị đặt tên cho tệp thư viện plugin keyring_file.

InnoDB Mã hóa không gian bảng yêu cầu sử dụng plugin Keyring được tải trước khi khởi tạo InnoDB, do đó, sự thay đổi giá trị

mysql> SELECT PLUGIN_NAME, PLUGIN_STATUS
       FROM INFORMATION_SCHEMA.PLUGINS
       WHERE PLUGIN_NAME LIKE 'keyring%';
+--------------+---------------+
| PLUGIN_NAME  | PLUGIN_STATUS |
+--------------+---------------+
| keyring_file | ACTIVE        |
+--------------+---------------+
6 mặc định này giới thiệu sự không tương thích để nâng cấp từ 5.7.11 đến 5.7.12 trở lên. Các quản trị viên đã mã hóa các không gian bảng InnoDB phải có hành động rõ ràng để đảm bảo tải plugin khóa tiếp tục: Khởi động máy chủ với tùy chọn
mysql> SELECT PLUGIN_NAME, PLUGIN_STATUS
       FROM INFORMATION_SCHEMA.PLUGINS
       WHERE PLUGIN_NAME LIKE 'keyring%';
+--------------+---------------+
| PLUGIN_NAME  | PLUGIN_STATUS |
+--------------+---------------+
| keyring_file | ACTIVE        |
+--------------+---------------+
6 đặt tên cho tệp thư viện plugin.

Trước khi khởi động máy chủ, hãy kiểm tra các ghi chú cho plugin Keyring đã chọn của bạn để biết hướng dẫn cấu hình cụ thể cho plugin đó:

  • keyring_file: Phần & NBSP; 6.4.4.2, Sử dụng plugin Keyring dựa trên tệp Keyring_File.

  • keyring_encrypted_file: Phần & nbsp; 6.4.4.3, sử dụng keyring_encrypted_file được mã hóa plugin khóa dựa trên tệp được mã hóa.

  • keyring_okv: Phần & nbsp; 6.4.4.4, sử dụng plugin keyring_okv kmip.

  • keyring_aws: Phần & NBSP; 6.4.4.5

Sau khi thực hiện bất kỳ cấu hình dành riêng cho plugin, hãy khởi động máy chủ. Xác minh cài đặt plugin bằng cách kiểm tra bảng keyring_encrypted_file4 hoặc sử dụng câu lệnh keyring_encrypted_file5 (xem Phần & NBSP; 5.5.2, có được thông tin plugin máy chủ). Ví dụ:

mysql> SELECT PLUGIN_NAME, PLUGIN_STATUS
       FROM INFORMATION_SCHEMA.PLUGINS
       WHERE PLUGIN_NAME LIKE 'keyring%';
+--------------+---------------+
| PLUGIN_NAME  | PLUGIN_STATUS |
+--------------+---------------+
| keyring_file | ACTIVE        |
+--------------+---------------+

Nếu plugin không khởi tạo, hãy kiểm tra nhật ký lỗi máy chủ để biết tin nhắn chẩn đoán.

Các plugin có thể được tải bằng các phương thức khác với

mysql> SELECT PLUGIN_NAME, PLUGIN_STATUS
       FROM INFORMATION_SCHEMA.PLUGINS
       WHERE PLUGIN_NAME LIKE 'keyring%';
+--------------+---------------+
| PLUGIN_NAME  | PLUGIN_STATUS |
+--------------+---------------+
| keyring_file | ACTIVE        |
+--------------+---------------+
6, chẳng hạn như tùy chọn keyring_encrypted_file7 hoặc keyring_encrypted_file8 hoặc câu lệnh keyring_encrypted_file9. Tuy nhiên, các plugin Keyring được tải bằng cách sử dụng các phương thức đó có thể có sẵn quá muộn trong chuỗi khởi động máy chủ cho một số thành phần nhất định sử dụng Keyring, chẳng hạn như InnoDB:

  • Tải plugin bằng cách sử dụng keyring_encrypted_file7 hoặc keyring_encrypted_file8 xảy ra sau khi khởi tạo InnoDB.

  • Các plugin được cài đặt bằng keyring_okv4 được đăng ký trong bảng hệ thống keyring_okv5 và được tải tự động để khởi động lại máy chủ tiếp theo.Tuy nhiên, vì keyring_okv5 là bảng InnoDB, bất kỳ plugin nào có tên trong đó chỉ có thể được tải trong khi khởi động sau khi khởi tạo InnoDB.

Nếu không có plugin Keyring nào có sẵn khi một thành phần cố gắng truy cập dịch vụ Keyring, dịch vụ không thể được sử dụng bởi thành phần đó.Do đó, thành phần có thể không khởi tạo hoặc có thể khởi tạo với chức năng hạn chế.Ví dụ: nếu InnoDB thấy rằng có các không gian bảng được mã hóa khi nó khởi tạo, nó sẽ cố gắng truy cập khóa.Nếu khóa không có sẵn, InnoDB chỉ có thể truy cập các không gian bảng không được mã hóa.Để đảm bảo rằng InnoDB cũng có thể truy cập các không gian bảng được mã hóa, hãy sử dụng

mysql> SELECT PLUGIN_NAME, PLUGIN_STATUS
       FROM INFORMATION_SCHEMA.PLUGINS
       WHERE PLUGIN_NAME LIKE 'keyring%';
+--------------+---------------+
| PLUGIN_NAME  | PLUGIN_STATUS |
+--------------+---------------+
| keyring_file | ACTIVE        |
+--------------+---------------+
6 để tải plugin khóa.