mysqldump: dumper has insufficent privileges to SHOW CREATE FUNCTION

问题如上所示

        业务需要准备备份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用户。

          之后,进行备份和还原就可以了

          问题还没有解决,只好对自定义函数不进行备份了

          谁有更好的方法,欢迎指导

你可能感兴趣的:(运维)