Database administrators should use the following guidelines to keep passwords secure.
MySQL stores passwords for user accounts in the
mysql.user
system table. Access to this table
should never be granted to any nonadministrative accounts.
Account passwords can be expired so that users must reset them. See Section 8.2.15, “Password Management”, and Section 8.2.16, “Server Handling of Expired Passwords”.
The validate_password
plugin can be used to
enforce a policy on acceptable password. See
Section 8.4.3, “The Password Validation Component”.
A user who has access to modify the plugin directory (the value
of the plugin_dir
system
variable) or the my.cnf
file that specifies
the plugin directory location can replace plugins and modify the
capabilities provided by plugins, including authentication
plugins.
Files such as log files to which passwords might be written should be protected. See Section 8.1.2.3, “Passwords and Logging”.