Authentication¶
Authentication is any process by which you verify that someone is who they claim they are. [1]
Drizzle authentication is handled by plugins; by default there is no single source where users are defined, such as a system user table, but each authentication plugin will use different sources to verify the usernames and passwords. (The plugin auth_schema does however keep users in a table inside Drizzle, much like the familiar MySQL way of authenticating users works.). Choosing an authentication plugin, configuring it, and disabling all other authentication plugins should be one of your first administrative tasks.
One or more authentication plugins must be loaded, else no connections can be made to Drizzle. On most systems, the Allow All Authentication plugin is loaded by default which, as its name suggests, allows all connections regardless of username or password. (Some distributions enable the File-based Authentication plugin by default instead).
The Schema Authentication plugin first shipped with Drizzle 7.1
Beta 2011.10.28. This plugin provides an authentication method that is
both secure and easy to use, and it is similar to how MySQL authentication
works so will be familiar to many users. If you don’t know which authentication
plugin to use, you should start with configuring
Schema Authentication. Likewise we warmly recommend distributors to
consider enabling this plugin by default.
The following authentication plugins are included with Drizzle:
Allow All Authentication - Allow all connections without checking username or password.
File-based Authentication - Define users and passwords in a text file that is read on startup.
HTTP Authentication - Authenticate the username and password against a http server.
LDAP Authentication - Define users and passwords in a LDAP directory.
PAM Authenication - Authenticate the username and password against system user accounts via PAM.
Schema Authentication - Define users and passwords in a system table.
Protocols¶
Drizzle has three protocols which affect how clients send passwords to MySQL:
Protocol |
Password |
|---|---|
mysql |
Encrypted |
mysql-plugin-auth |
Plaintext |
drizzle |
(Not used) |
These protocols correspond to the drizzle Command Line Client –protocol option.
The mysql protocol is default, but some authentication plugins require the mysql-plugin-auth protocol:
Plugin |
Protocol |
|---|---|
Any |
|
mysql |
|
mysql-plugin-auth |
|
Any |
|
mysql-plugin-auth |
|
mysql |
Footnotes