`
冰糖葫芦
  • 浏览: 294122 次
社区版块
存档分类
最新评论

关于mysql存储过程的definer的问题

阅读更多
由于对mysql了解不够透彻,导致对definer问题查了好久才解决问题
记录自己的一些理解!
问题描述:
在数据库写,为一个表写了一个触发器,此触发器调用一个存储过程;由公司写的一个c程序自动往该表写入数据,通过触发器转换成业务相关数据;同过root@localhost连接数据库,但提示192.168.2.%不存在
问题查找:
登录数据库,show procedure status\G 发现procedure的definer都是root@192.168.2.%
问题解决:
方法一:修改存储过程的definer
       update mysql.proc set definer='root@localhost' where db='db_name';
方法二:修改sql security
       sql secuirty的值决定了调用存储过程的方式,取值 :definer或者invoker
       definer:在执行存储过程前验证definer对应的用户如:root@192.168.2.%是否存在,以及是否具有执行存储过程的权限,若没有则报错
        invoker:在执行存储过程时判断inovker即调用该存储过程的用户是否有相应权限,若没有则报错。
       修改语法:
        alter procedure pro_name sql security invoker;

ps: 在创建时指定sql security 
    create procedure pro_name(params....)
    sql security definer|invoker
    begin
     .....
    end;

0
0
分享到:
评论
2 楼 duanbinhua 2012-08-06  
             
1 楼 duanbinhua 2012-08-06  
     

相关推荐

    mysql数据库乱码之保存越南文乱码解决方法

    代码如下:define(“MYSQL_ENCODE”, “UTF8”); mysql_query(‘SET NAMES ‘.MYSQL_ENCODE,$conn) or die(‘字符集设置错误’.mysql_error()); 搞了大半小时,没有搞定。 insert 的数据都是仍然乱码,突然想,...

    Navicat premium12

    也是navicat premium软件推出的最新版本,能够支持单一程序同时连接到MySQL、MariaDB、SQL Server、SQLite、Oracle和PostgreSQL等数据库,可以满足现今数据库管理系统的使用功能,包括存储过程、事件、触发器、函数...

    Mysql LONGBLOB 类型存储二进制数据 (修改+调试+整理)

    在DBMS中线要创建数据库...//注意:还要修改my.ini文件中的max_allowed_packet字段,我设置的是 代码如下: //max_allowed_packet = 1024M //#define host “localhost” //mysql server //#define username “root” //

    ThinkPHP实现将SESSION存入MYSQL的方法

    本文以实例讲解了ThinkPHP实现将SESSION存入MYSQL的方法,所采用的运行环境是ThinkPHP3.1.2版 首先index.php中设置为: <?php define('APP_DEBUG', true);//设置为调试模式 require '../ThinkPHP/ThinkPHP.php';...

    github2gitlab:将包含成员、团队、问题的 Github 存储库导入 Gitlab

    将 Github 项目导入 Gitlab Gitlab 有一个本地插件来导入 Github 存储库,但它非常基础。 我写了一个真正的脚本,将所有 Github 组织的东西导入 Gitlab。 特征 会员 会员邮箱(可以手动解析“git shortlog -s -n -...

    configman:支持Redis,Memcache,MySQL和RabbitMQ

    #特性支持多种服务配置存储方式 (进行中...)支持服务的可扩展性支持cli方式操作配置支持web方式操作配置支持API本地调用支持配置推送方式的可扩展 (进行中...)#用法一、Api使用方法Example(以MySQL配置为例):如果...

    jieqi24:jieqi2.4_utf8杰奇2.4,UTF8版本Jieqi2.4解密开源程序来源:https

    2,更改网站编码编码为uft8,采集GBK自动转为utf8,创建数据库编码为utf8mb4,把sql目录下的jieqi2.4.sql导入数据库,作为网站的初始数据库结构和数据,更改为存储为INNODB 3,上传网站程序后,以下4个目录必须可...

    wordpress-base:使用Wordpress Docker进行基础设计

    基本的WordPress项目用户开始一个新项目; 或运行一个现有的。概括项目执行要求:特色技术设置项目将项目下载或克隆到您的计算机上。.../** Usuário do banco de dados MySQL */define ( 'DB_USER' , 'd

    Portfolio:Websiteportfolio代码存储库-内置自定义HTML和CSS响应模板以及CouchCMS(v2.1)CMS集成

    数据库—手动将mySQL数据库导出并转移到具有重复安装床的实时服务器。 检查define( 'K_DB_NAME', 'danburnage_com' ); , define( 'K_DB_USER', 'root' ); , define( 'K_DB_PASSWORD', '[INSERT PASSWORD HERE]' );...

    IterCommunity:Iter社区的WordPress网站及其所有插件和支持元素都已到位

    这是WordPress核心和相关插件的副本,当在此既定配置中进行设置时,Iter Community Commons网站将用于为Iter Community提供服务。 许多功能都来自配置。 这些设置保留在Iter Commons数据库的导出文件中。...define

    route-78-erro

    78路 自行车电子商务 这是UDF联邦区大学中心教授的“数据结构编程和基础技术”学科的项目。 团队成员: 导师 安装说明 ... 将存储库克隆到PHP解释... /** Usuário do banco de dados MySQL */ define('DB_USER', 'ro

    转子:转子-移动内容管理系统

    它使用MySQL数据库存储您的站点内容。 Rotor是一个灵活,功能强大且直观的系统,具有最低的托管要求,高级别的保护以及构建任何复杂网站的绝佳选择。 Rotor的主要特征是系统资源的负载低且速度高,即使站点的受众...

    q3panel:基于Quake 3引擎的托管游戏服务器的应用程序

    在问题1下可以看到如何通过面板设置Q3服务器的演练: : 更新2018年8月3日-XenForo身份验证。 要启用XenForo身份验证,您需要新的User.php类和此存储库中的文件夹扩展名。 另外,您必须手动在config.php文件的...

    wp_plugin_bootcamp:WordPress 插件训练营。 将功能从 WordPress 主题迁移到 WordPress 插件

    此存储库用于 2015 年 3 月 28 日的 WordCamp San Diego 插件 BootCamp 演示。 它将向您展示如何将功能从 WordPress 主题迁移到 WordPress 插件。 设置 克隆这个 repo 签出 step_0 分支: git checkout step_0 ...

    PHP基础教程 是一个比较有价值的PHP新手教程!

    你也可以用define函数定义你自己的常量,比如define("CONSTANT","value")。 2.6 运算符 PHP具有C,C++和Java中的通常见到的运算符。这些运算符的优先权也是一致的。赋值同样使用"="。 算术和字符 以下只有一种...

Global site tag (gtag.js) - Google Analytics