Add ability to have a MySQL user who has system access to do administrative tasks but limited access to user schema

Registered by George Ormond Lorch III

Add three new options to allow specification of utility user:
* utility_user_name=’user’ @ ‘hostname’ : specifies a fully qualified user name in the form of ‘user’ @ ‘hostname’ which the system will recognize as the utility user. This user must not be the same as any other user that exists in the mysql.user table. If the server detects that the user specified with this option matches any user within the mysql.user table on startup, the server will report an error and shut down gracefully. If a client attempts to create a MySQL user that matches this user specification, the creation attempt will fail with an error. This user will not appear in the mysql.user table and can not be modified in any way from a MySQL client.
* utility_user_password=<password> : specifies the password for the utility user.
* utility_user_schema_access=<schema>,<schema>,<schema> : specifies the name(s) of the schema(s) that the utility user will have access to read write and modify.

This user has a mixed and special scope of abilities and protection:
* Utility user must not be seen or modified by any other user, including root.
* Utility user must not have the ability create, modify, delete or see any schemas not specified.
* Utility user may modify system variables.
* Utility user may modify other system users, primarily for the purpose of password reset/recovery.

When the server starts, it will note in the log output that the utility user exists and the schemas that it has access to.

See internal #23597.

Blueprint information

Status:
Complete
Approver:
Alexey Kopytov
Priority:
Undefined
Drafter:
George Ormond Lorch III
Direction:
Approved
Assignee:
George Ormond Lorch III
Definition:
Approved
Series goal:
Proposed for 5.5
Implementation:
Implemented
Milestone target:
milestone icon 5.5.27-28.0
Started by
Alexey Kopytov
Completed by
Alexey Kopytov

Sprints

Whiteboard

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.