mysql如何修改所有的definer「终于解决」

mysql如何修改所有的definer「终于解决」https://www.cnblogs.com/zejin2008/p/4767531.html 如果方便修改mysql中所有已经定义到的definer? 由于前期在测试库上开发的缘故,我们经常定义…

mysql如何修改所有的definer

https://www.cnblogs.com/zejin2008/p/4767531.html

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

由于前期在测试库上开发的缘故,我们经常定义到的definer为`root`@`%`,后来搬移到生产库上又得改回来,存在着大量的更新,上百个的视图,函数等一个个改不免太麻烦并且也可能遗漏。如下为总结出的方便修改所有definer的方法,可以直到查漏补缺的作用。

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

1.修改function、procedure的definer

select definer from mysql.proc;  — 函数、存储过程

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

 

2.修改event的definer

select DEFINER from mysql.EVENT; — 定时事件

update mysql.EVENT set definer=” user@localhost “;

 

3.修改view的definer

相比function的修改麻烦点:

select DEFINER from information_schema.VIEWS; 

select concat(“alter DEFINER=`user`@`localhost` SQL SECURITY DEFINER VIEW “,TABLE_SCHEMA,”.”,TABLE_NAME,” as “,VIEW_DEFINITION,”;”) from information_schema.VIEWS where DEFINER<>”user@localhost”; 

查询出来的语句再执行一遍就好了。

 

4.修改trigger的definer

目前还没有具体方便的方法,可以借助工具端如HeidiSQL、sqlyog等来一个个修改。注意改前有必要锁表,因为如果改的过程中有其它表改变而触发,会造成数据不一致。

Flush tables with readlock

Unlock tables

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/6261.html

(0)
上一篇 2023-04-14 09:30
下一篇 2023-04-14

相关推荐

  • 使用Python OpenCV进行图像处理

    使用Python OpenCV进行图像处理随着数字技术的不断发展,图像处理在计算机视觉、机器学习、医学影像、人脸识别等领域中得到了越来越广泛的应用。Python是一种易学且强大的编程语言,在图像处理方面有很好的支持。OpenCV是一个强大的开源计算机视觉平台,尤其擅长图像和视频处理,提供了一系列易于使用的函数和工具。本文将介绍如何使用Python和OpenCV进行图像处理。

    2024-07-09
    39
  • CentOS 7使用Redis Cluster

    CentOS 7使用Redis Cluster本文更新于2021-11-03,使用Redis 4.0.8,操作系统为CentOS 7.5。 CentOS 7下直接运行redis-trib.rb可能出现如下提示,原因是没有安装Ruby: /usr/

    2023-04-26
    161
  • Python中hmac的使用方法

    Python中hmac的使用方法在Python中,hmac模块提供了一种方便的方法来生成HMAC(基于哈希的消息验证代码)。HMAC是一种涉及哈希函数和一个秘密密钥的消息认证码,对于具有消息认证要求的应用程序而言,它是一种非常有用和安全的算法。

    2024-08-01
    30
  • oracle中如何找出大表分布在哪些数据文件中的数据源_在一张表里怎么找出一样

    oracle中如何找出大表分布在哪些数据文件中的数据源_在一张表里怎么找出一样ORACLE中如何找出大表分布在哪些数据文件中? 在ORACLE数据中,我们能否找出一个大表的段对象分布在哪些数据文件中呢? 答案是可以,我们可以用下面脚本来找出对应表的区、段分别位于哪些数据文件中

    2023-01-31
    152
  • Docker安装部署Mysql8(以作数据持久化)「终于解决」

    Docker安装部署Mysql8(以作数据持久化)「终于解决」1.创建容器并进行持久化处理 #拉取镜像 docker pull mysql:8.0.20 #启动镜像,用于拷贝配置文件到宿主机 docker run -p 3306:3306 –name mysq

    2023-06-06
    155
  • Python列表项的常见操作方法

    Python列表项的常见操作方法在Python中,列表作为一种基本数据结构,广泛应用于各种程序中。本文将从多个方面对Python列表项的常见操作方法做详细的阐述,让读者对Python中列表的操作有更深入的了解。所有示例代码均在Python 3.x环境下执行。

    2024-03-12
    84
  • Python矩阵基础操作

    Python矩阵基础操作矩阵是数学中经常用到的一种概念,常用于表示线性方程组、线性变换等。在机器学习和数据分析中,矩阵也扮演着重要的角色。使用Python进行矩阵操作非常方便,并且Python拥有庞大的科学计算库,例如NumPy、SciPy、Pandas等,使得矩阵计算变得更加容易。

    2024-09-14
    26
  • Windows下MongoDB的下载安装、环境配置

    Windows下MongoDB的下载安装、环境配置下载MongoDB 进入官网页面,选择社区版: https://www.mongodb.com/download-center/community进行下载 点击安装包进行安装 根据需要选择完整安装和…

    2023-02-11
    140

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注