返回顶部
首页 > 资讯 > 数据库 >mysql中怎么修改所有的definer
  • 192
分享到

mysql中怎么修改所有的definer

2024-04-02 19:04:59 192人浏览 薄情痞子
摘要

本篇文章给大家分享的是有关Mysql中怎么修改所有的definer,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。mysql中的definer是

本篇文章给大家分享的是有关Mysql中怎么修改所有的definer,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

mysql中的definer是什么,有什么作用?

先授权一个: grant all on testdb.* to 'user1'@'%' identified by '000000' with grant option;    
然后我们创建一个存储过程如下:
USE `testdb`;
DROP procedure IF EXISTS `user_count`;
DELIMITER $$
USE `testdb`$$
CREATE DEFINER=`root`@`%` PROCEDURE `user_count`()
 LANGUAGE sql NOT DETERMINISTIC CONTaiNS SQL
  SQL SECURITY INVOKER
  COMMENT '' BEGIN select count(*) from mysql.user; END$$
DELIMITER ;

用root帐号登陆:

mysql> use testdb;
Database changed
mysql> call user_count();
+----------+ | count(*) | +----------+ | 3 | +----------+ 1 row in set (0.00 sec)

Query OK, 0 rows affected (0.00 sec)
可以正常查询出来。

我们再用user1进行登陆:

mysql> use testdb;
Database changed
mysql> call user_count();
ERROR 1142 (42000): SELECT command denied to user 'user1'@'localhost' for table 'user'

发现系统报错查询不到了,这是因为我们在上述定义的SQL SECURITY值为INVOKER,存储过程执行过程中会以user1具有的权限来执行,其中调用到了mysql的库,而我们的user1帐户只有testdb库的使用权限,所以会返回失败。

如果方便修改mysql中所有已经定义到的definer?

现在在mysql涉及的definer有view、trigger、function、procedure、event。我们一个个作介绍。

1.修改function、procedure的definer

update mysql.proc set definer='user@localhost'; -- 如果有限定库或其它可以加上where条件

4.修改trigger的definer

Flush tables with readlock

<p align="left"  font-size:14px;white-space:nORMal;background-color:#ffffff;"=""> Unlock tables

以上就是mysql中怎么修改所有的definer,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注编程网数据库频道。

您可能感兴趣的文档:

--结束END--

本文标题: mysql中怎么修改所有的definer

本文链接: https://lsjlt.com/news/58787.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • mysql中怎么修改所有的definer
    本篇文章给大家分享的是有关mysql中怎么修改所有的definer,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。mysql中的definer是...
    99+
    2024-04-02
  • mysql如何修改所有的definer
    ...
    99+
    2022-04-20
    mysql如何修改所有的definer
  • MySQL中DEFINER怎么用
    这篇文章将为大家详细讲解有关MySQL中DEFINER怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。前言:在 MySQL 数据库中,在创建视图及函数的时候,你有注意过 definer 选项吗?在迁移...
    99+
    2023-06-20
  • 怎么批量修改MYSQL函数所有者的对象
    这篇文章主要讲解了“怎么批量修改MYSQL函数所有者的对象”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么批量修改MYSQL函数所有者的对象”吧!批量修改...
    99+
    2024-04-02
  • linux怎么修改目录所有者
    要在Linux中修改目录的所有者,可以使用chown命令。chown命令用于更改文件或目录的所有者。使用以下命令来修改目录的所有者:...
    99+
    2023-10-09
    linux
  • Linux怎么修改文件所有者
    今天小编给大家分享一下Linux怎么修改文件所有者的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。  1.命令格式:  代码如...
    99+
    2023-06-28
  • mysql中definer的作用是什么
    在MySQL中,DEFINER是用于指定触发器、存储过程、函数等对象的创建者或所有者。指定DEFINER可以控制对象的执行权限和访问...
    99+
    2024-04-09
    mysql
  • git撤销所有的修改
    在使用Git进行开发时,为了测试和调试,我们可能会不断的进行代码修改。但是,有时候我们可能会对某个文件或者整个仓库的修改失手或者想要回退到之前的某一版本,这时候我们需要撤销我们之前的修改。本文将介绍如何使用Git撤销所有的修改。一、撤销文件...
    99+
    2023-10-22
  • 修改MySQL所有表的编码或者修改某个字段的编码
    一、修改MySQL所有表的编码可以通过以下步骤完成: 在修改之前需要确认MySQL服务器的默认字符集和排序规则是utf8mb4,否则需要先修改MySQL服务器的默认字符集。可以通过以下命令查看MySQL服务器当前的默认字符集和排序规则: ...
    99+
    2023-08-21
    mysql 数据库 sql
  • Linux系统怎么修改文件所有者
    今天就跟大家聊聊有关Linux系统怎么修改文件所有者,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。命令语法: chown [-R] 所有者名称 ...
    99+
    2023-06-28
  • mysql中definer的使用方法是什么
    在MySQL中,DEFINER是用来指定存储过程、函数、视图的创建者的属性。通过DEFINER属性,可以指定一个用户来代替当前用户来...
    99+
    2024-04-09
    mysql
  • mysql中怎么查询所有表
    mysql中查询所有表的方法:1.打开运行窗口;2.输入“cmd”打开命令行窗口;3.输入“mysql -u root -p”命令;4.再输入密码进入mysql控制台;5.通过"show tables;"命令查...
    99+
    2024-04-02
  • mysql中怎么修改数据
    mysql中修改数据的方法:1.打开运行窗口;2.输入“cmd”打开命令行窗口;3.输入“mysql -u root -p”命令;4.再输入密码进入mysql控制台;5.通过"UPDATE 表名 SET id ...
    99+
    2024-04-02
  • mysql中怎么修改字段
    在 mysql 中修改字段需执行以下步骤:使用 alter table 语句,后跟表名、字段名和新数据类型,例如:alter table my_table modify age varc...
    99+
    2024-05-01
    mysql
  • mysql中的默认值怎么修改
    要修改MySQL中的默认值,可以使用ALTER TABLE语句。以下是一个示例:```ALTER TABLE table_name ...
    99+
    2023-09-05
    mysql
  • mysql怎么修改表中的数据
    修改 mysql 表中的数据的方法如下:使用 update 语句修改现有值,语法:update table_name set column_name = new_value w...
    99+
    2024-05-30
    mysql
  • linux怎么修改文件所属组
    要在Linux中修改文件的所属组,可以使用`chown`命令。下面是一般的用法:bashchown <user>:<...
    99+
    2023-10-25
    linux
  • linux怎么修改目录所属组
    要修改目录的所属组,可以使用chown命令。chown命令用于修改文件或目录的所有者和所属组。 要将目录的所属组修改为新组,可以使用...
    99+
    2023-10-27
    linux
  • 怎么修改MySQL的SQL_MODE
    这篇文章主要讲解了“怎么修改MySQL的SQL_MODE”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么修改MySQL的SQL_MODE”吧!查看我们当前...
    99+
    2024-04-02
  • ppt怎么实现所有页面字体统一修改
    这篇文章将为大家详细讲解有关ppt怎么实现所有页面字体统一修改,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。方法:首先打开ppt文件,点击文件里的文字,查看字体类型;然后点击菜单栏中的“开始”-“替换”,...
    99+
    2023-06-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作