问题如上所示
业务需要准备备份test_db,包括结构+数据+自定义函数
我的操作过程如下
grant select,lock tables on test_db.* to 'dumper'@'127.0.0.1' identified by 'bak' ;
↓
mysqldump -h127.0.0.1 -P3306 -pbak -udumper test_db -d > /home/databak/dumper2_bak.sql
发现问题后,觉得是权限的问题,那就简单点,直接赋予全部权限
grant all privileges on core_db.* to 'dumper'@'127.0.0.1' identified by 'bak' ;
还是报错,如题目所示。
查了很多资料,后来觉得肯定不是权限的问题,因为授权了全部的权限。
那只有查看数据库实例上的自定义函数有什么特别之处了。
CREATE DEFINER = `202producer`@`%` FUNCTION `NewProc
原来带了标识,终于找到位置了。可是怎么办呢,有没有好的解决方法呢?
思路是这样,用root创建test_db,再建立一个www用户,授权全部的操作(test_db),所有对test_db的操作都使用www用户。
之后,进行备份和还原就可以了。
问题还没有解决,只好对自定义函数不进行备份了
谁有更好的方法,欢迎指导