jjzjj

privileges

全部标签

mysql - 在 MySQL 中执行触发器需要什么权限?

我发现MySQL手册中对DEFINER的解释令人困惑,所以我不确定应用程序运行的“执行用户”需要什么权限。为了安全起见,我喜欢将“执行用户”限制为所需的最少权限。我知道触发器/存储过程的创建者需要SUPER权限,但是“执行用户”是否也需要SUPER权限?我在最终失去对我的数据库的权限的用户下创建了一个触发器。“执行用户”没有SUPER权限,并且具有触发器的MySQLUPDATE失败。我将SUPER权限授予“执行用户”,并通过删除和创建触发器将DEFINER更改为root,一切正常。我是否必须将SUPER权限授予“执行用户”,或者我是否必须确保DEFINER用户仍然存在并拥有SUPER权

mysql - 如何将所有权限恢复到 MySQL 中的 root 用户?

我已经使用--skip-grant-tables选项登录到MySQL。但是我不知道如何将所有权限取回给root用户。我试过:GRANTALLPRIVILEGESON*.*TO'root'@'localhost';MySQL说:#1290-TheMySQLserverisrunningwiththe--skip-grant-tablesoptionsoitcannotexecutethisstatement尝试:GRANTALLPRIVILEGESON*.*TO'root'@'localhost'WITHMAX_QUERIES_PER_HOUR0MAX_CONNECTIONS_PER_H

mysql "grant all"与 "grant all privileges"

这两个命令有什么区别?GRANTALLONdruid.*TO'druid'@'localhost'IDENTIFIEDBY'diurd';GRANTALLPRIVILEGESON*.*TOdruid@'%'IDENTIFIEDBY'diurd'; 最佳答案 它们在权限语法方面是等价的;PRIVILEGES是可选的。Source但是,这些权限的范围是不同的。一个命令授予对所有数据库的权限(*.*),另一个命令仅授予数据库druid(druid.*)中的表的权限。此外,一个只允许来自localhost的连接,而另一个允许来自任何地方(%

mysql - 如何在MySQL中获得 "subtract"权限

我想撤销表“交易”的2列的更新权限。我希望用户拥有对所有其他表和数据的所有访问权限。mysql>REVOKEUPDATE(system,consumer)ONledger.transactFROM'foo'@'localhost';ERROR1147(42000):Thereisnosuchgrantdefinedforuser'foo'onhost'localhost'ontable'transaction'上面的似乎不起作用。 最佳答案 我同意Thilo的观点-如果您之前授予过这些列权限,您将只能撤销它们。您不能在更高级别(例如

MySQL:Grant Privileges followed by Flush Privileges 没有效果,没有错误(以 root 身份登录)

我和一名团队成员都被难住了,因为向远程用户授予权限的命令失败了,但没有错误。使用CREATEUSER已成功将新用户添加到mysql.user,但GRANTPRIVILEGES后跟FLUSHPRIVILEGES不会影响授权表。这两个命令都应该说“查询正常”。0行受影响,'他们这样做了。但是SHOWGRANTS并没有显示新的权限,我们也不能从指定的远程ip使用该用户名登录。谁能解释以下行为?mysql>SELECTCURRENT_USER();///I'mdefinitelyinasrootuser+----------------+|CURRENT_USER()|+-----------

mysql - 在 phpMyAdmin 中创建函数 - 错误 : access denied you need the super privilege for this operation

我导入了一个MySQL数据库。成功导入的所有表,但不是函数。我执行SQL查询的唯一方法是通过phpMyAdmin或使用PHP脚本(无SSH)。以下是要导入的函数的示例:DELIMITER;;/*!50003DROPFUNCTIONIFEXISTS`f_calc_gst`*/;;/*!50003SETSESSIONSQL_MODE=""*/;;/*!50003CREATE*//*!50020DEFINER=`journal`@`%`*//*!50003FUNCTION`f_calc_gst`(p_htdecimal(15,3),p_provincevarchar(2))RETURNSva

mysql - 在 google mysql 上创建函数给出 "SUPER privilege and binary logging is enabled"错误

尝试在运行于GoogleCloudSQL的MySQL上创建函数。这些功能在另一台服务器(VPS-Godaddy)上运行良好。官方文档说不支持用户定义函数,但我正在尝试创建一个常规存储函数而不是UDF。LookupError-MySQLDatabaseError:YoudonothavetheSUPERprivilegeandbinaryloggingisenabled(youmightwanttousethelesssafelog_bin_trust_function_creatorsvariable)使用Toad登录使用的用户名TAdmin示例函数:DELIMITER$$DROPFU

mysql - 使用加载数据 infile 的最低数据库权限

我正在使用mysqlimport将表中的数据替换为TSV文件中的值。一切正常(使用DBsuper用户名和密码导入数据),所以现在我想锁定它,以便执行导入的数据库用户只能影响我要替换的单个表。我知道我需要在.上授予FILE才能使用“LOADDATAINFILE”(mysqlimport包装),但我无法找到我可以授予的最小权限集数据库。我试过了;grantFILEon*.*to...grantALLondbname.tablenameto....但是当我运行mysqlimport时,这给了我一个错误;mysqlimport:Error:Accessdeniedforuser...有谁知道是

mysql - 允许 MySQL 用户授予自己对新数据库的权限

我有一个MySQL用户,我们称之为Tom。Tom拥有全局CREATE和SHOWDATABASES权限,带有“GRANT”选项。用户被分配了基于每个数据库的SELECT、INSERT、UPDATE和DELETE权限。然而,在Tom创建一个新数据库之后,他不能设置他的SELECT等权限,尽管有一个全局GRANT选项。错误是(可以预见的):CREATEDATABASE`my_new_db`;--thisisfineGRANTSELECT,INSERT,UPDATE,DELETEON`my_new_db`.*TO'Tom'@'%';*Accessdeniedforuser'Tom'@'%'to

mysql - 在 MySQL 中,在授予一般权限后撤销权限

使用标准SQL-已在PosgresQL和Oracle中重复执行此操作-我希望将SELECT授予schema1中的所有表exceptsecrettouser1grantselectonschema1.*touser1;revokeselectonschema1.usersfromuser1;收到错误:ERROR1147(42000):Thereisnosuchgrantdefinedforuser'user1'onhost'%'ontable'secret'我做错了什么?显然这是标准的MySQL行为!!让人们更容易理解使用MySQL的应用程序缺乏安全复杂性-在MySQL中设置正确的用户安