无法使用 MAX_USER_CONNECTIONS 在 MariaDB 中创建用户

Posted

技术标签:

【中文标题】无法使用 MAX_USER_CONNECTIONS 在 MariaDB 中创建用户【英文标题】:Cannot create user in MariaDB with MAX_USER_CONNECTIONS 【发布时间】:2019-09-26 00:46:55 【问题描述】:

我正在尝试使用以下语句在 MariaDB 10.1 中创建用户:

 CREATE USER 'exporter' IDENTIFIED BY 'exporter' WITH MAX_USER_CONNECTIONS 3;

但是这个命令失败了:

ERROR 1064 (42000):您的 SQL 语法有错误;查看与您的 MariaDB 服务器版本相对应的手册,了解在第 1 行的“MAX_USER_CONNECTIONS 3”附近使用的正确语法

省略WITH MAX_USER_CONNECTIONS 选项时有效。

【问题讨论】:

【参考方案1】:

对于 MariaDB

CREATE USER 'exporter' IDENTIFIED BY 'exporter';
GRANT [...] WITH MAX_USER_CONNECTIONS 3;

有关较新版本,请参阅this answer。

【讨论】:

您好 Robert,遗憾的是我的节点在 mariadb 10.1 上,GRANT 语句仍然对我不起作用!【参考方案2】:

提到的语法自 MariaDB 10.2.0 起可用。

https://mariadb.com/kb/en/library/create-user/

【讨论】:

对不起,这是一个错字...我编辑了我的问题。 MariaDB [(none)]> CREATE USER 'exporter' IDENTIFIED BY 'exporter' WITH MAX_USER_CONNECTIONS 3; ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'MAX_USER_CONNECTIONS 3' at line 1 根据文档,这应该可以工作。你能用引号试试WITH MAX_USER_CONNECTIONS`'3';`。(所以把引号弄乱了)。就像,链接末尾有一条评论用引号说:mariadb.com/kb/en/library/create-user 试过了,但它不起作用。它给出了相同的错误消息。 我有 10.0.38,它也不起作用。我又看了一遍,我猜我们需要升级我们的软件:) 也许这只适用于 10.2 及更高版本。 mariadb.com/kb/en/library/mariadb-1020-release-notes 声明:“用于限制资源使用和 tls/ssl 的新 CREATE USER 选项”但这看起来好像其他选项应该可以工作。【参考方案3】:

10.2 语法意味着密码选项在资源选项之后

CREATE USER 'exporter'
    WITH MAX_USER_CONNECTIONS 3
    IDENTIFIED BY 'exporter';

【讨论】:

以上是关于无法使用 MAX_USER_CONNECTIONS 在 MariaDB 中创建用户的主要内容,如果未能解决你的问题,请参考以下文章

连接RDS MySQL时报错has more than ‘max_user_connections‘已解决

我如何解决 MySQL 中的“max_user_connections”问题?

mysql 的max_connections和max_user_connections 的区别

max_user_connections参数设置试验

mysql创建账号

MySQL 资源限制