Details
-
Type:
Task
-
Status: In Review
-
Priority:
Major
-
Resolution: Unresolved
-
Fix Version/s: 10.2
-
Component/s: None
-
Labels:None
Description
Using different gtid_domain_id are a way to allow a multi purpose database server to define a set of different gtids to assist in parallel replication. Unfortunately since gtid_domain_id can only be set by a super user this restricts its use. It would be useful to have an allocation of gtid_domain_id per user to facilitate application assisted parallel replication.
https://mariadb.com/kb/en/mariadb/documentation/replication/standard-replication/global-transaction-id/#gtid_domain_id (doesn't list it as SUPER only)
mysql> set session gtid_domain_id=59; ERROR 1227 (42000): Access denied; you need (at least one of) the SUPER privilege(s) for this operation
If having multiple users set the same gtid_domain_id is risky for some reason consider:
a) an entry in the mysql.user table that defines the default gtid_domain_id for that user; and optionally extra
b) a min/max gtid_domain_id values in the users table to prevent conflicts (min/max available as readonly variable) where a non-super user can only set gtid_domain_id within this range.
b) would be useful if an application support a set of operations (e.g. db cache, batch payments) that it knows are independent.
Gliffy Diagrams
Attachments
Issue Links
- relates to
-
MDEV-8017 current_user() in definer event/trigger/stored procedure/function/view to return real current user
-
- Closed
-
Activity
- All
- Comments
- Work Log
- History
- Activity
- Transitions
given my confusion on
MDEV-6900this bug/feature request is invalid too. the feature a) mentioned can be implemented in stored procedures with an init_connect and good db admin can work out b)