mysql Got error: 1449:The user specified as a definer ('qyzc'@'%') does not exist when using LOCK TA

mysql 导出全库的时候

/xxxx/xxxx/mysqldump -uxxx -pxxx --all-databases> /xxx/sqlbak/mysql-all-databases-xxx.sql

的时候报错了


提示

mysqldump: Got error: 1449: The user specified as a definer ('qyzc'@'%') does not exist when using LOCK TABLES

可是我数据库根本没有 qyzc这个用户啊。(SELECT User, Host, Password FROM mysql.user;)

参考:https://www.cnblogs.com/martinding/p/7457701.html

原来是从其他库复制过来的时候,可能带上了用户的信息。

查询select *  FROM information_schema.views  果然看到有个视图的definer 是qyzc@% 

SELECT CONCAT("ALTER DEFINER=`youruser`@`host` VIEW ", 
table_name, " AS ", view_definition, ";") 
FROM information_schema.views 
WHERE table_schema='your-database-name';


修改 youruser、host 和 your-database-name 三个改为自己实际的值。生成更新语句。执行。ok。






  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值