Error 'You are not allowed to create a user with GRANT' on query. Default database: ''

Error 'You are not allowed to create a user with GRANT' on query. Default database: ''

𝓓𝓸𝓷 Lv6

一、查看从库同步情况

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
mysql> show replica status\G
*************************** 1. row ***************************
Replica_IO_State: Waiting for source to send event
Source_Host: 10.154.24.73
Source_User: repl
Source_Port: 3306
Connect_Retry: 60
Source_Log_File: master-binlog.000216
Read_Source_Log_Pos: 824
Relay_Log_File: bigdata74-relay-bin.000621
Relay_Log_Pos: 488351486
Relay_Source_Log_File: master-binlog.000208
Replica_IO_Running: Yes
Replica_SQL_Running: No
Replicate_Do_DB:
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 1410
Last_Error: Coordinator stopped because there were error(s) in the worker(s). The most recent failure being: Worker 1 failed executing transaction 'cd8a108b-d01d-11f0-a603-fa163e226e71:790' at source log master-binlog.000208, end_log_pos 488351485. See error log and/or performance_schema.replication_applier_status_by_worker table for more details about this failure or others, if any.
Skip_Counter: 0
Exec_Source_Log_Pos: 488351261
Relay_Log_Space: 11089131865
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Source_SSL_Allowed: No
Source_SSL_CA_File:
Source_SSL_CA_Path:
Source_SSL_Cert:
Source_SSL_Cipher:
Source_SSL_Key:
Seconds_Behind_Source: NULL
Source_SSL_Verify_Server_Cert: No
Last_IO_Errno: 0
Last_IO_Error:
Last_SQL_Errno: 1410
Last_SQL_Error: Coordinator stopped because there were error(s) in the worker(s). The most recent failure being: Worker 1 failed executing transaction 'cd8a108b-d01d-11f0-a603-fa163e226e71:790' at source log master-binlog.000208, end_log_pos 488351485. See error log and/or performance_schema.replication_applier_status_by_worker table for more details about this failure or others, if any.
Replicate_Ignore_Server_Ids:
Source_Server_Id: 1
Source_UUID: cd8a108b-d01d-11f0-a603-fa163e226e71
Source_Info_File: mysql.slave_master_info
SQL_Delay: 0
SQL_Remaining_Delay: NULL
Replica_SQL_Running_State:
Source_Retry_Count: 10
Source_Bind:
Last_IO_Error_Timestamp:
Last_SQL_Error_Timestamp: 251223 15:02:32
Source_SSL_Crl:
Source_SSL_Crlpath:
Retrieved_Gtid_Set: cd8a108b-d01d-11f0-a603-fa163e226e71:1-937
Executed_Gtid_Set: cd8a108b-d01d-11f0-a603-fa163e226e71:1-789
Auto_Position: 1
Replicate_Rewrite_DB:
Channel_Name:
Source_TLS_Version:
Source_public_key_path:
Get_Source_public_key: 0
Network_Namespace:
1 row in set (0.00 sec)

主从同步失败:

Replica_IO_Running: Yes
Replica_SQL_Running: No

Last_Error: Coordinator stopped because there were error(s) in the worker(s). The most recent failure being: Worker 1 failed executing transaction ‘cd8a108b-d01d-11f0-a603-fa163e226e71:790’ at source log master-binlog.000208, end_log_pos 488351485. See error log and/or performance_schema.replication_applier_status_by_worker table for more details about this failure or others, if any.

二、查看失败原因

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
mysql> select * from performance_schema.replication_applier_status_by_worker\G
*************************** 1. row ***************************
CHANNEL_NAME:
WORKER_ID: 1
THREAD_ID: NULL
SERVICE_STATE: OFF
LAST_ERROR_NUMBER: 1410
LAST_ERROR_MESSAGE: Worker 1 failed executing transaction 'cd8a108b-d01d-11f0-a603-fa163e226e71:790' at source log master-binlog.000208, end_log_pos 488351485; Error 'You are not allowed to create a user with GRANT' on query. Default database: ''. Query: 'GRANT ALL PRIVILEGES ON `hie`.* TO 'hie'@'%''
LAST_ERROR_TIMESTAMP: 2025-12-23 15:02:32.003953
LAST_APPLIED_TRANSACTION: cd8a108b-d01d-11f0-a603-fa163e226e71:789
LAST_APPLIED_TRANSACTION_ORIGINAL_COMMIT_TIMESTAMP: 2025-12-23 15:05:30.603009
LAST_APPLIED_TRANSACTION_IMMEDIATE_COMMIT_TIMESTAMP: 2025-12-23 15:05:30.603009
LAST_APPLIED_TRANSACTION_START_APPLY_TIMESTAMP: 2025-12-23 15:01:45.057909
LAST_APPLIED_TRANSACTION_END_APPLY_TIMESTAMP: 2025-12-23 15:01:45.082127
APPLYING_TRANSACTION: cd8a108b-d01d-11f0-a603-fa163e226e71:790
APPLYING_TRANSACTION_ORIGINAL_COMMIT_TIMESTAMP: 2025-12-23 15:06:17.433652
APPLYING_TRANSACTION_IMMEDIATE_COMMIT_TIMESTAMP: 2025-12-23 15:06:17.433652
APPLYING_TRANSACTION_START_APPLY_TIMESTAMP: 2025-12-23 15:02:31.889229
LAST_APPLIED_TRANSACTION_RETRIES_COUNT: 0
LAST_APPLIED_TRANSACTION_LAST_TRANSIENT_ERROR_NUMBER: 0
LAST_APPLIED_TRANSACTION_LAST_TRANSIENT_ERROR_MESSAGE:
LAST_APPLIED_TRANSACTION_LAST_TRANSIENT_ERROR_TIMESTAMP: 0000-00-00 00:00:00.000000
APPLYING_TRANSACTION_RETRIES_COUNT: 0
APPLYING_TRANSACTION_LAST_TRANSIENT_ERROR_NUMBER: 0
APPLYING_TRANSACTION_LAST_TRANSIENT_ERROR_MESSAGE:
APPLYING_TRANSACTION_LAST_TRANSIENT_ERROR_TIMESTAMP: 0000-00-00 00:00:00.000000
*************************** 2. row ***************************
CHANNEL_NAME:
WORKER_ID: 2
THREAD_ID: NULL
SERVICE_STATE: OFF
LAST_ERROR_NUMBER: 0
LAST_ERROR_MESSAGE:
LAST_ERROR_TIMESTAMP: 0000-00-00 00:00:00.000000
LAST_APPLIED_TRANSACTION: cd8a108b-d01d-11f0-a603-fa163e226e71:747
LAST_APPLIED_TRANSACTION_ORIGINAL_COMMIT_TIMESTAMP: 2025-12-22 19:29:14.430633
LAST_APPLIED_TRANSACTION_IMMEDIATE_COMMIT_TIMESTAMP: 2025-12-22 19:29:14.430633
LAST_APPLIED_TRANSACTION_START_APPLY_TIMESTAMP: 2025-12-22 22:33:34.703348
LAST_APPLIED_TRANSACTION_END_APPLY_TIMESTAMP: 2025-12-22 22:34:14.350198
APPLYING_TRANSACTION:
APPLYING_TRANSACTION_ORIGINAL_COMMIT_TIMESTAMP: 0000-00-00 00:00:00.000000
APPLYING_TRANSACTION_IMMEDIATE_COMMIT_TIMESTAMP: 0000-00-00 00:00:00.000000
APPLYING_TRANSACTION_START_APPLY_TIMESTAMP: 0000-00-00 00:00:00.000000
LAST_APPLIED_TRANSACTION_RETRIES_COUNT: 0
LAST_APPLIED_TRANSACTION_LAST_TRANSIENT_ERROR_NUMBER: 0
LAST_APPLIED_TRANSACTION_LAST_TRANSIENT_ERROR_MESSAGE:
LAST_APPLIED_TRANSACTION_LAST_TRANSIENT_ERROR_TIMESTAMP: 0000-00-00 00:00:00.000000
APPLYING_TRANSACTION_RETRIES_COUNT: 0
APPLYING_TRANSACTION_LAST_TRANSIENT_ERROR_NUMBER: 0
APPLYING_TRANSACTION_LAST_TRANSIENT_ERROR_MESSAGE:
APPLYING_TRANSACTION_LAST_TRANSIENT_ERROR_TIMESTAMP: 0000-00-00 00:00:00.000000
*************************** 3. row ***************************
CHANNEL_NAME:
WORKER_ID: 3
THREAD_ID: NULL
SERVICE_STATE: OFF
LAST_ERROR_NUMBER: 0
LAST_ERROR_MESSAGE:
LAST_ERROR_TIMESTAMP: 0000-00-00 00:00:00.000000
LAST_APPLIED_TRANSACTION: cd8a108b-d01d-11f0-a603-fa163e226e71:539
LAST_APPLIED_TRANSACTION_ORIGINAL_COMMIT_TIMESTAMP: 2025-12-22 16:27:42.352465
LAST_APPLIED_TRANSACTION_IMMEDIATE_COMMIT_TIMESTAMP: 2025-12-22 16:27:42.352465
LAST_APPLIED_TRANSACTION_START_APPLY_TIMESTAMP: 2025-12-22 18:25:11.222404
LAST_APPLIED_TRANSACTION_END_APPLY_TIMESTAMP: 2025-12-22 18:25:11.333237
APPLYING_TRANSACTION:
APPLYING_TRANSACTION_ORIGINAL_COMMIT_TIMESTAMP: 0000-00-00 00:00:00.000000
APPLYING_TRANSACTION_IMMEDIATE_COMMIT_TIMESTAMP: 0000-00-00 00:00:00.000000
APPLYING_TRANSACTION_START_APPLY_TIMESTAMP: 0000-00-00 00:00:00.000000
LAST_APPLIED_TRANSACTION_RETRIES_COUNT: 0
LAST_APPLIED_TRANSACTION_LAST_TRANSIENT_ERROR_NUMBER: 0
LAST_APPLIED_TRANSACTION_LAST_TRANSIENT_ERROR_MESSAGE:
LAST_APPLIED_TRANSACTION_LAST_TRANSIENT_ERROR_TIMESTAMP: 0000-00-00 00:00:00.000000
APPLYING_TRANSACTION_RETRIES_COUNT: 0
APPLYING_TRANSACTION_LAST_TRANSIENT_ERROR_NUMBER: 0
APPLYING_TRANSACTION_LAST_TRANSIENT_ERROR_MESSAGE:
APPLYING_TRANSACTION_LAST_TRANSIENT_ERROR_TIMESTAMP: 0000-00-00 00:00:00.000000
*************************** 4. row ***************************
CHANNEL_NAME:
WORKER_ID: 4
THREAD_ID: NULL
SERVICE_STATE: OFF
LAST_ERROR_NUMBER: 0
LAST_ERROR_MESSAGE:
LAST_ERROR_TIMESTAMP: 0000-00-00 00:00:00.000000
LAST_APPLIED_TRANSACTION: cd8a108b-d01d-11f0-a603-fa163e226e71:532
LAST_APPLIED_TRANSACTION_ORIGINAL_COMMIT_TIMESTAMP: 2025-12-22 16:27:33.090177
LAST_APPLIED_TRANSACTION_IMMEDIATE_COMMIT_TIMESTAMP: 2025-12-22 16:27:33.090177
LAST_APPLIED_TRANSACTION_START_APPLY_TIMESTAMP: 2025-12-22 18:24:12.337608
LAST_APPLIED_TRANSACTION_END_APPLY_TIMESTAMP: 2025-12-22 18:24:12.462045
APPLYING_TRANSACTION:
APPLYING_TRANSACTION_ORIGINAL_COMMIT_TIMESTAMP: 0000-00-00 00:00:00.000000
APPLYING_TRANSACTION_IMMEDIATE_COMMIT_TIMESTAMP: 0000-00-00 00:00:00.000000
APPLYING_TRANSACTION_START_APPLY_TIMESTAMP: 0000-00-00 00:00:00.000000
LAST_APPLIED_TRANSACTION_RETRIES_COUNT: 0
LAST_APPLIED_TRANSACTION_LAST_TRANSIENT_ERROR_NUMBER: 0
LAST_APPLIED_TRANSACTION_LAST_TRANSIENT_ERROR_MESSAGE:
LAST_APPLIED_TRANSACTION_LAST_TRANSIENT_ERROR_TIMESTAMP: 0000-00-00 00:00:00.000000
APPLYING_TRANSACTION_RETRIES_COUNT: 0
APPLYING_TRANSACTION_LAST_TRANSIENT_ERROR_NUMBER: 0
APPLYING_TRANSACTION_LAST_TRANSIENT_ERROR_MESSAGE:
APPLYING_TRANSACTION_LAST_TRANSIENT_ERROR_TIMESTAMP: 0000-00-00 00:00:00.000000
4 rows in set (0.00 sec)

同步失败原因:

主库执行GRANT ALL PRIVILEGES ON hie.* TO ‘hie‘@’%’’ WITH GRANT OPTION命令,从库执行失败.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
主库
mysql> show grants for hie@'%';
+----------------------------------------------+
| Grants for hie@% |
+----------------------------------------------+
| GRANT USAGE ON *.* TO `hie`@`%` |
| GRANT ALL PRIVILEGES ON `hie`.* TO `hie`@`%` |
+----------------------------------------------+
2 rows in set (0.00 sec)

从库:
mysql> show grants for hie@'%';
+---------------------------------+
| Grants for hie@% |
+---------------------------------+
| GRANT USAGE ON *.* TO `hie`@`%` |
+---------------------------------+
1 row in set (0.00 sec)

由于Mysql8默认不允许 root@‘localhost’用户创建带有with grant option权限的帐号,故需要修改帐号:

1
2
UPDATE user SET Host='%' WHERE User='root' AND Host='localhost';
FLUSH PRIVILEGES;

或者跳过授权表,授权root@’localhost’ with grant option权限:

1
2
3
4
5
6
7
8
9
(1)修改参数
vi /etc/my.cnf
skip-grant-tables

(2)重启数据库
/etc/init.d/mysql restart

(3)重新授权
GRANT ALL PRIVILEGES ON *`.* TO root'@'localhost'' WITH GRANT OPTION

三、处理主从失败故障

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
-- 1. Stop replication  
STOP REPLICA;

-- 2. Set GTID_NEXT to the failed transaction
SET GTID_NEXT = 'cd8a108b-d01d-11f0-a603-fa163e226e71:790';

-- 3. Execute an empty transaction to "complete" the GTID
BEGIN;
COMMIT;

-- 4. Restore automatic GTID assignment
SET GTID_NEXT = AUTOMATIC;

-- 5. Restart replication
START REPLICA;


温馨提示:
跳过空事务,可能会引起数据丢失风险,故一般适用于权限更新引起的不同步
也可以使用mydump或xrabackup工具手工处理同步问题

四、重新授权

1
2
3
4
5
6
7
主库:
REVOKEALL PRIVILEGES ON `hie`.* TO `hie`@`%`;

UPDATE user SET Host='%' WHERE User='root' AND Host='localhost';
FLUSH PRIVILEGES;

GRANTALL PRIVILEGES ON `hie`.* TO `hie`@`%`;
  • Title: Error 'You are not allowed to create a user with GRANT' on query. Default database: ''
  • Author: 𝓓𝓸𝓷
  • Created at : 2025-12-29 14:37:29
  • Updated at : 2025-12-29 15:08:49
  • Link: https://www.zhangdong.me/mysql-skip-failed-transactions.html
  • License: This work is licensed under CC BY-NC-SA 4.0.
评论