gpt4 book ai didi

mysql - 允许 JawsDB 中的用户进行 INSERT 语句

转载 作者:可可西里 更新时间:2023-11-01 07:21:47 25 4
gpt4 key购买 nike

我在 Heroku 中部署了一个应用程序,数据库管理器是 MySQL JawsDB。我想使用 Navicat 为我的用户插入数据。该应用程序仅供咨询。我可以连接到我的 JawsDB 数据库,但是当我尝试插入新数据时出现错误 1142 - INSERT command denied to user 'myJawsDBUser'@'myIPAddress' for table 'myTable'。我检查了文档并说:

If you are on one of JawsDB’s shared plans, you may have breached the database size allotted via your plan. When a database grows larger than the plan allows, INSERT privileges are revoked on the database user until the database is brought back into compliance.

检查我的数据库大小后,我发现我的容量小于计划允许的最大容量。我认为是权限问题,如果我无权访问用户表,我该如何更改它

最佳答案

回答前的披露:我在使用 JawsDB :)

Jaws 根据 information_schema 将数据库中每个表的 data_length 和 index_length 值相加来计算已用空间。

类似下面的查询用于执行此操作。

select
s.schema_name
,sp.grantee user
,cast(round(sum(coalesce(t.data_length + t.index_length, 0)) / 1024 / 1024, 3) as char) db_size_mb
,sp.has_insert
from
information_schema.schemata s
inner join
information_schema.tables t on s.schema_name = t.table_schema
inner join (
select
spi.grantee
,spi.table_schema
,max(
case
when spi.privilege_type = 'INSERT' then 1
else 0
end
) has_insert
from
information_schema.schema_privileges spi
group by
spi.grantee
,spi.table_schema
) sp on s.schema_name = sp.table_schema
group by
s.schema_name;

如果数据库表的大小超过授予用户计划的大小,则临时取消 INSERT 权限,直到数据库大小恢复符合计划。这可以通过删除旧数据或升级他们的计划来完成。

关于mysql - 允许 JawsDB 中的用户进行 INSERT 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41985355/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com