Documentation Home
Security in MySQL
Related Documentation Download this Excerpt
PDF (US Ltr) - 1.9Mb
PDF (A4) - 1.9Mb
HTML Download (TGZ) - 417.7Kb
HTML Download (Zip) - 425.0Kb


Security in MySQL  /  Security Components and Plugins

Chapter 6 Security Components and Plugins

Table of Contents

6.1 Authentication Plugins
6.1.1 Native Pluggable Authentication
6.1.2 Caching SHA-2 Pluggable Authentication
6.1.3 SHA-256 Pluggable Authentication
6.1.4 Client-Side Cleartext Pluggable Authentication
6.1.5 PAM Pluggable Authentication
6.1.6 Windows Pluggable Authentication
6.1.7 LDAP Pluggable Authentication
6.1.8 No-Login Pluggable Authentication
6.1.9 Socket Peer-Credential Pluggable Authentication
6.1.10 Test Pluggable Authentication
6.1.11 Pluggable Authentication System Variables
6.2 The Connection-Control Plugins
6.2.1 Connection-Control Plugin Installation
6.2.2 Connection-Control System and Status Variables
6.3 The Password Validation Component
6.3.1 Password Validation Component Installation and Uninstallation
6.3.2 Password Validation Options and Variables
6.3.3 Transitioning to the Password Validation Component
6.4 The MySQL Keyring
6.4.1 Keyring Plugin Installation
6.4.2 Using the keyring_file File-Based Plugin
6.4.3 Using the keyring_encrypted_file Keyring Plugin
6.4.4 Using the keyring_okv KMIP Plugin
6.4.5 Using the keyring_aws Amazon Web Services Keyring Plugin
6.4.6 Using the HashiCorp Vault Keyring Plugin
6.4.7 Migrating Keys Between Keyring Keystores
6.4.8 Supported Keyring Key Types and Lengths
6.4.9 General-Purpose Keyring Key-Management Functions
6.4.10 Plugin-Specific Keyring Key-Management Functions
6.4.11 Keyring Command Options
6.4.12 Keyring System Variables
6.5 MySQL Enterprise Audit
6.5.1 Audit Log Components
6.5.2 Installing or Uninstalling MySQL Enterprise Audit
6.5.3 MySQL Enterprise Audit Security Considerations
6.5.4 Audit Log File Formats
6.5.5 Audit Log Logging Configuration
6.5.6 Audit Log Filtering
6.5.7 Writing Audit Log Filter Definitions
6.5.8 Legacy Mode Audit Log Filtering
6.5.9 Audit Log Reference
6.5.10 Audit Log Restrictions
6.6 The Audit Message Component
6.7 MySQL Enterprise Firewall
6.7.1 MySQL Enterprise Firewall Components
6.7.2 Installing or Uninstalling MySQL Enterprise Firewall
6.7.3 Using MySQL Enterprise Firewall
6.7.4 MySQL Enterprise Firewall Reference
6.8 MySQL Enterprise Data Masking and De-Identification
6.8.1 MySQL Enterprise Data Masking and De-Identification Components
6.8.2 Installing or Uninstalling MySQL Enterprise Data Masking and De-Identification
6.8.3 Using MySQL Enterprise Data Masking and De-Identification
6.8.4 MySQL Enterprise Data Masking and De-Identification User-Defined Function Reference

MySQL includes several components and plugins that implement security features:

  • Plugins for authenticating attempts by clients to connect to MySQL Server. Plugins are available for several authentication protocols. For general discussion of the authentication process, see Section 4.17, “Pluggable Authentication”. For characteristics of specific authentication plugins, see Section 6.1, “Authentication Plugins”.

  • A password-validation component for implementing password strength policies and assessing the strength of potential passwords. See Section 6.3, “The Password Validation Component”.

  • Keyring plugins that provide secure storage for sensitive information. See Section 6.4, “The MySQL Keyring”.

  • (MySQL Enterprise Edition only) MySQL Enterprise Audit, implemented using a server plugin, uses the open MySQL Audit API to enable standard, policy-based monitoring and logging of connection and query activity executed on specific MySQL servers. Designed to meet the Oracle audit specification, MySQL Enterprise Audit provides an out of box, easy to use auditing and compliance solution for applications that are governed by both internal and external regulatory guidelines. See Section 6.5, “MySQL Enterprise Audit”.

  • A user-defined function enables applications to add their own message events to the audit log. See Section 6.6, “The Audit Message Component”.

  • (MySQL Enterprise Edition only) MySQL Enterprise Firewall, an application-level firewall that enables database administrators to permit or deny SQL statement execution based on matching against whitelists of accepted statement patterns. This helps harden MySQL Server against attacks such as SQL injection or attempts to exploit applications by using them outside of their legitimate query workload characteristics. See Section 6.7, “MySQL Enterprise Firewall”.

  • (MySQL Enterprise Edition only) MySQL Enterprise Data Masking and De-Identification, implemented as a plugin library containing a plugin and a set of user-defined functions. Data masking hides sensitive information by replacing real values with substitutes. MySQL Enterprise Data Masking and De-Identification functions enable masking existing data using several methods such as obfuscation (removing identifying characteristics), generation of formatted random data, and data replacement or substitution. See Section 6.8, “MySQL Enterprise Data Masking and De-Identification”.