广告
返回顶部
首页 > 资讯 > 数据库 >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://www.lsjlt.com/news/58787.html(转载时请注明来源链接)

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

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • mysql中怎么修改所有的definer
    本篇文章给大家分享的是有关mysql中怎么修改所有的definer,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。mysql中的definer是...
    99+
    2022-10-18
  • mysql如何修改所有的definer
    ...
    99+
    2022-04-20
    mysql如何修改所有的definer
  • 怎么批量修改MYSQL函数所有者的对象
    这篇文章主要讲解了“怎么批量修改MYSQL函数所有者的对象”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么批量修改MYSQL函数所有者的对象”吧!批量修改...
    99+
    2022-10-18
  • linux怎么修改目录所有者
    要在Linux中修改目录的所有者,可以使用chown命令。chown命令用于更改文件或目录的所有者。使用以下命令来修改目录的所有者:...
    99+
    2023-10-09
    linux
  • Linux怎么修改文件所有者
    今天小编给大家分享一下Linux怎么修改文件所有者的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。  1.命令格式:  代码如...
    99+
    2023-06-28
  • 修改MySQL所有表的编码或者修改某个字段的编码
    一、修改MySQL所有表的编码可以通过以下步骤完成: 在修改之前需要确认MySQL服务器的默认字符集和排序规则是utf8mb4,否则需要先修改MySQL服务器的默认字符集。可以通过以下命令查看MySQL服务器当前的默认字符集和排序规则: ...
    99+
    2023-08-21
    mysql 数据库 sql
  • Linux系统怎么修改文件所有者
    今天就跟大家聊聊有关Linux系统怎么修改文件所有者,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。命令语法: chown [-R] 所有者名称 ...
    99+
    2023-06-28
  • ppt怎么实现所有页面字体统一修改
    这篇文章将为大家详细讲解有关ppt怎么实现所有页面字体统一修改,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。方法:首先打开ppt文件,点击文件里的文字,查看字体类型;然后点击菜单栏中的“开始”-“替换”,...
    99+
    2023-06-14
  • 怎么修改MySQL的SQL_MODE
    这篇文章主要讲解了“怎么修改MySQL的SQL_MODE”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么修改MySQL的SQL_MODE”吧!查看我们当前...
    99+
    2022-10-18
  • mysql中怎么查询所有表
    mysql中查询所有表的方法:1.打开运行窗口;2.输入“cmd”打开命令行窗口;3.输入“mysql -u root -p”命令;4.再输入密码进入mysql控制台;5.通过"show tables;"命令查...
    99+
    2022-10-11
  • mysql中怎么修改数据
    mysql中修改数据的方法:1.打开运行窗口;2.输入“cmd”打开命令行窗口;3.输入“mysql -u root -p”命令;4.再输入密码进入mysql控制台;5.通过"UPDATE 表名 SET id ...
    99+
    2022-10-03
  • 【mysql】视图的创建、修改、删除、查看所有视图、不能修改视图的情况
    1.视图 视图类似于表,但不是真实存在的表,而是根据已存在的表创建出来的虚拟表,即它并不会被保存在物理磁盘上。视图的使用场景很多,比如说,你需要给某个用户提供某张表的访问权限,但又不能把所有字段都给他...
    99+
    2023-09-21
    1024程序员节 mysql sql 视图 view
  • mysql中的默认值怎么修改
    要修改MySQL中的默认值,可以使用ALTER TABLE语句。以下是一个示例:```ALTER TABLE table_name ...
    99+
    2023-09-05
    mysql
  • linux怎么修改文件所属组的规定
    要修改文件所属组的规定,可以使用chown命令。chown命令用于修改文件或目录的所有者和所属组。 以下是使用chown命令修改文件...
    99+
    2023-10-21
    linux
  • 怎么修改mysql的密码
    这篇文章将为大家详细讲解有关怎么修改mysql的密码,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。怎么修改mysql的密码登录数据库,利用set password命令进行...
    99+
    2022-10-18
  • MySQL的密码怎么修改
    这篇文章主要讲解了“MySQL的密码怎么修改”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MySQL的密码怎么修改”吧!摘要:本文介绍了如何修改一个用户的密...
    99+
    2022-10-18
  • mysql怎么修改表的engine
    mysql中修改表engine的方法方法一:首先,在命令行中启动MySQL服务;sudo service mysql startMySQL服务启动后,输入用户名和密码登录MySQL;mysql -u&...
    99+
    2022-10-15
  • mysql中怎么修改表字段
    mysql中怎么修改表字段,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。--修改表字段CREATE TABLE registe...
    99+
    2022-10-18
  • mysql 中怎么修改root密码
    mysql 中怎么修改root密码,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Method 1:在/usr/local//bin/下:./m...
    99+
    2022-10-18
  • mysql中怎么修改表名称
    mysql中修改表名称的示例:打开命令行窗口,输入命令:“mysql -u root -p”。再输入密码,进入mysql。输入命令“alter table user rename user1;”即可。意思:将user表名修改为user1....
    99+
    2022-10-20
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作