首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

MySQL存储过程的权限问题

MySQL存储过程,没错,看起来好生僻的使用场景。问题源于一个开发同学提交了权限申请的工单,需要开通一些权限。...比如部署安装,比如权限开通。数据权限开通就是一个相对典型的案例,而存储过程的权限开通甚至都有点让人怀疑人生了。...赋予基本的表的权限,赋予存储过程的权限存储过程的这个地方需要注意一个重要的点是SQL SECURITY,默认创建是definer,如果需要开放给其他的用户调用,则建议是设置为invoker....比如我们举一反三一下,我们知道MySQL里的all privileges算是一个很大的权限,但是里面包含多少种权限,可能我们没有清晰的概念。 我们就完全可以通过细粒度的权限控制来反推。...*其实已经包含了我们需要的细粒度权限mysql.proc,如果要抽丝剥茧,基本就是这样的套路。

1.6K20

MySQL中如何得到权限信息

最近在做一次MySQL数据迁移的时候,突然发现自己遗漏了一个地方,那就是权限信息没有导出,如果我们使用mysqldump --all-databases的时候没有添加--flush-privileges...的时候,导出的数据中是不会包含mysql数据的。...所以回到问题,如果现在要解决,就有大体的三种方式来同步权限; 方法1:重新导出导入整个数据 不评论,我绝对不会这么做,只是看起来是一个完整的过程,但是无用功太多,很容易被鄙视 方法2:导出mysql...的权限配置 如果是在5.5,5.6的环境,直接导出mysql.user表数据即可,但是在5.7中可不行,一种方式就是导出整个mysql的数据 方法3:pt工具导出 使用自定义脚本或者...pt工具来导出权限信息 当然解决方法很多,我就说说方法2,方法3 我对比了5.6和5.7 的表结构情况。

1.9K50
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    python 爬取租房信息存储mysql数据

    利用python requests获取网页信息; 利用bs解析网页内容; pymysql用于操作mysql数据; 将获取的信息存储mysql数据。 效果如图: ?...1.导入需要的,并建立数据连接。需要先安装好mysql数据在本机上。...将没有的信息给定为‘no info’. 4.每获取一条信息,将该信息存储mysql数据;用insert into将信息插入到数据; conn.execute("insert into roominfo...------------------------------------------------ 8.附加:本地mysql数据操作,以上面写入的数据数据为例。...1.将安装好的mysql添加至path环境变量里; 2.windows+R输入cmd进入命令行,输入mysql;输入密码; 3.connect Ganjizufang; use Ganjizufang;

    1.8K30

    聊聊MySQL存储

    聊聊MySQL存储 早就耳闻TiDB,一直没实操,这两天不忙的功夫,在测试机上手操作了一把TiDB,这个国产NewSQL存储的杰出代表,协议基本兼容MySQL,想必这也是TiDB顺利攫取用户的重要亮点...MySQL无疑是RDMS数据中开源、免费的扛把子,从db-engines.com排名上可以看出,除Oracle外,长期占据第二把交椅。 ?...数据存储也融入了兼容NoSQL的元素,降低了以往Schema预定义的硬伤。 但MySQL扩展的硬伤依旧存在,相比时下一些互联网应用的分布式存储而言,运维成本还是相当高。...Oracle收购Sun之后,MySQL委身于一家商业数据存储公司,业界普遍不看好MySQL的未来,MariaDB一度有代替MySQL的人气,但目前看来,似乎没什么改观。...Percona Server 官网地址:https://www.percona.com/,针对MySQL数据服务器进行了改进,推出Percona Server for MySQL,在功能和性能上较 MySQL

    59520

    MySQL 数据设置远程权限

    设置访问单个数据权限 设置用户名为 root,密码为空,可以访问数据 test mysql>grant all privileges on test.* to 'root'@'%'; 设置访问全部数据权限...设置用户名为 root,密码为空,可以访问所有数据 mysql>grant all privileges on *.* to 'root'@'%'; 设置指定用户名访问权限 指定用户名为 liuhui...,密码为空,可以访问所有数据 mysql>grant all privileges on *.* to 'liuhui'@'%'; 设置密码访问权限 设置用户名为 liuhui,密码为 liuhui,...可以访问所有数据 mysql>grant all privileges on *.* to 'liuhui'@'%' IDENTIFIED BY 'liuhui'; 设置指定可访问主机权限 设置用户名为...liuhui,密码为 liuhui,可以访问所有数据,只有 10.1.1.1 这台机器有权限访问 mysql>grant all privileges on *.* to 'liuhui'@'10.1.1.1

    7.8K20

    MySQL数据存储引擎

    二、常用的存储引擎: 1、InnoDB存储引擎: InnoDB是MySQL5.5版本之后的默认存储引擎,它是为了达到处理巨大数据量的最大性能而设计的,其CPU效率可能是任何其他基于磁盘的关系型数据引擎锁不能匹敌的...6、Berkeley存储引擎:(BDB) 该存储引擎支持COMMIT和ROLLBACK等其他事务特性,支持页级锁。该引擎在包括MySQL 5.1及其以上版本的数据中不再支持。...使用该引擎的MySQL数据表会在MySQL安装目录data文件夹中的和该表所在数据名相同的目录中生成一个.CSV文件(所以,它可以将CSV类型的文件当做表进行处理),这种文件是一种普通文本文件,每个数据行占用一个文本行...这种引擎提供以下功能:提供进程等待的详细信息,包括锁、互斥变量、文件信息;保存历史的事件汇总信息,为提供MySQL服务器性能做出详细的判断;对于新增和删除监控事件点都非常容易,并可以随意改变mysql服务器的监控周期...,则MyISAM引擎能提供较高的处理效率; 四、存储引擎的操作: 1、查看Mysql存储引擎信息mysql > show engines; 查询结果: Support列的值表示某种引擎是否能使用

    5.4K30

    Mysql数据-存储引擎

    Mysql数据-存储引擎 1 存储引擎概述 和大多数的数据不同, MySQL中有一个存储引擎的概念, 针对不同的存储需求可以选择最优的存储引擎。...存储引擎就是存储数据,建立索引,更新查询数据等等技术的实现方式 。存储引擎是基于表的,而不是基于的。所以存储引擎也可被称为表类型。 Oracle,SqlServer等数据只有一种存储引擎。...MySQL提供了插件式的存储引擎架构。所以MySQL存在多种存储引擎,可以根据需要使用相应引擎,或者编写存储引擎。...可以通过指定 show engines , 来查询当前数据支持的存储引擎 : image-20200616104826352 创建新表时如果不指定存储引擎,那么系统就会使用默认的存储引擎, MySQL5.5...查看Mysql数据默认的存储引擎 , 指令 show variables like '%storage_engine%'; image-20200616105013230 2 存储引擎特性 下面重点介绍几种常用的存储引擎

    5.1K10

    Mysql数据-存储过程

    Mysql数据-存储过程 1. 存储过程和函数概述 1. 存储过程和函数是事先经过编译并存储在数据中的一段SQL语句的集合 a. 类似于java中的方法: 是一段java代码的集合 b....减少数据在数据和应用服务器之间的传输,对于提高数据处理的效率 java : 1....查看和删除存储过程 3.1 语法: -- 查询数据中所有的存储过程 select * from mysql.proc where db='数据名称'; -- 删除存储过程 drop procedure...[if exists] 存储过程名称; 3.2 实例: -- 查询数据中所有的存储过程 select * from mysql.proc where db='db2'; -- 删除存储过程 drop...procedure if exists stu_group; 执行如下: -- 查询数据 db2 中所有的存储过程 mysql> select * from mysql.proc where db

    11K10

    MySQL能否授予查看存储过程定义权限给用户

    找了很多资料,没有看到有这方面的功能,官方文档没有涉及这样的权限,网上有个方法:可以通过授予用户查询mysql.proc这样的权限来间接实现这个功能 grant select on mysql.proc...(不仅仅是某个某个存储过程,或某个数据存储过程的定义), 这里就涉及一个权限放大的问题。...例如,我本来打算只授予用户A查看存储过程PRC_A的定义权限,但是那样授权后,A能查看很多存储过程的定义,甚至还能查看一些没有访问权限数据存储过程的权限。...MySQL 8.0开始,存储过程存储mysql.routines和mysql.parameters系统表中,但是这些表无法直接访问,只能访问INFORMATION_SCHEMA.ROUTINES。...sec) mysql> 总结: 在MySQL5.7或之前版本,可以通过授予用户查询mysql.proc来间接实现查看存储过程定义的权限,在MySQL 8.0 可以通过授予用ALTER ROUTINE的权限来间接实现查看存储过程定义的权限

    3.2K20

    打开MySQL数据远程访问权限

    在我们使用mysql数据时,有时我们的程序与数据不在同一机器上,这时我们需要远程访问数据。缺省状态下,mysql的用户没有远程访问的权限。下面介绍两种方法,解决这一问题。...这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%" mysql -u root -...p mysql>use mysql; mysql>update user set host = '%' where user = 'root'; mysql>select host, user from...user; 2、授权法 在安装mysql的机器上运行: mysql\bin\>mysql -h localhost -u root //这样应该可以进入MySQL服务器 mysql>GRANT ALL...PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION //赋予任何主机访问数据的权限 例如,你想myuser使用mypassword从任何主机连接到mysql

    10.6K40

    MySQL数据存储过程与存储函数

    2 存储过程与存储函数 MySQL中提供存储过程与存储函数机制,我们姑且将存储过程和存储函数合称为存储程序。...与一般的SQL语句需要先编译然后立即执行不同,存储程序是一组为了完成特定功能的SQL语句集,经编译后存储在数据中,当用户通过指定存储程序的名字并给定参数(如果该存储程序带有参数)来调用才会执行。   ...示例4:示例1中创建的存储过程param_pro,将其读写权限该为MODIFIES SQL DATA,并指明调用者可以执行。...示例12:查看示例2中创建的存储过程信息。...SHOW CREATE FUNCTION fun1; (3)从information_schema.Routines表中查看存储过程和函数信息   MySQL中的存储过程和函数的信息存储在information_schema.Routines

    6.9K21
    领券