pingcap/tidb

set session level `sql_require_primary_key` didn't check privilege

Open

#61,825 建立於 2025年6月19日

在 GitHub 查看
 (4 留言) (0 反應) (0 負責人)Go (40,090 star) (6,186 fork)batch import
good first issueseverity/moderatesig/sql-infratype/bug

描述

Bug Report

Please answer these questions before submitting your issue. Thanks!

1. Minimal reproduce step (Required)

mysql> CREATE USER 'test'@'%' IDENTIFIED BY '';
Query OK, 0 rows affected (0.027 sec)
$ mysql -u test -h 127.0.0.1 -P 4000
...
mysql> set sql_require_primary_key = 0;
Query OK, 0 rows affected (0.000 sec)

mysql> set global sql_require_primary_key = 0;
ERROR 1227 (42000): Access denied; you need (at least one of) the SUPER or SYSTEM_VARIABLES_ADMIN privilege(s) for this operation

2. What did you expect to see? (Required)

both session and global level should fail. https://dev.mysql.com/doc/refman/8.4/en/server-system-variables.html#sysvar_sql_require_primary_key

3. What did you see instead (Required)

session level has no error

4. What is your TiDB version? (Required)

at least v8.5.2

貢獻者指南

set session level `sql_require_primary_key` didn't check privilege · pingcap/tidb#61825 | Good First Issue