当前位置: 首页 > article >正文

mysql error:1449权限问题 及 用户授权

一、权限问题

Got error: 1449: The user specified as a definer ('skip-grants user'@'skip-grants host') does not exist when using LOCK TABLES

在迁移数据库时,定义的definer,在两个数据库之间不同步时,要将不存在的definer改成数据库中已有的用户。

1、修改存储过程

UPDATE `mysql`.`proc` SET definer = 'root@%' WHERE definer='skip-grants user'@'skip-grants host'

2、修改视图

本来尝试和修改存储过程类似的方式,但是总是被拒绝访问,所以找了别的方法。

先生成修改的sql语句:

SELECT CONCAT("ALTER DEFINER=`你要改的definer` VIEW ", 
table_schema,".",table_name, " AS ", view_definition, ";") 
FROM information_schema.views ;

其中:table_schema=数据库;table_name=表名;

如果只要修改指定的数据库或者指定的definer,在上面的SQL后拼个条件:WHERE table_schema='database' or definer = 'older_definer' 即可;

执行完上面的sql后,会产生一些alter语句:

将这些语句成功执行后,definer就被修改了。

二、用户授权

最大权限

-- 授权
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '密码';
-- 刷新
FLUSH PRIVILEGES;

部分权限:

-- 创建用户
CREATE USER 'username'@'hostname' IDENTIFIED BY 'password';
 
-- 授权用户操作数据库的权限
GRANT SELECT, INSERT, UPDATE, DELETE ON database_name.table_name TO 'username'@'hostname';
 
-- 刷新权限,使授权生效
FLUSH PRIVILEGES;

三、完结啦


http://www.kler.cn/a/382095.html

相关文章:

  • [渲染层网络层错误] net::ERR_CONTENT_LENGTH_MISMATCH 问题解决
  • 跨平台Flutter 、ReactNative 开发原理
  • flink实战-- flink任务的火焰图如何使用
  • 【python/C++ 使用 Optimum-Intel 和 OpenVINO GenAI 优化和部署大模型 IntelCPU/集显GPU/N卡GPU】
  • 【vim文本编辑器gcc编译器gdb调试器】
  • Ghidra无头模式(自动化批处理执行重复性任务)
  • 备战百天,准备机考【机考笔记】
  • Spring MVC 入门案例:开启 Web 开发之旅
  • http-server:Node.js下的轻量级静态服务器工具
  • SpringBoot配置Rabbit中的MessageConverter对象
  • 【spark面试题】RDD和DataFrame以及DataSet有什么异同
  • 链表-单链表
  • [MySQL]DCL语句
  • 【UML】- 用例图(结合银行案例解释其中的奥义)
  • 蓝桥杯专项---一维前缀/差分巩固题目
  • 【5.9】指针算法-双指针解验证回文字符串 Ⅱ
  • PostgreSQL 学习笔记:PostgreSQL 主从复制
  • 【自用】fastapi教程第三节--响应与响应体
  • 智能化在线考试及数据可视化系统
  • C++ 之类和对象
  • 集智书童 | UniMatch V2 推进半监督语义分割极限,以更低训练成本实现更优的语义分割结果-建议收藏!
  • 【网络】数据链路层
  • 基于Qt的独立线程创建与多线程执行实验Demo
  • JAVA读取doc,docx转PDF通过vue展示
  • 基于Multisim拔河比赛游戏+计分电路(含仿真和报告)
  • 华为 HarmonyOS NEXT 原生应用开发:【封装正则API】在原生鸿蒙中使用正则表达式校验登录注册模块(邮箱、密码、手机号)校验