本文共 1046 字,大约阅读时间需要 3 分钟。
查看mysql 权限:show grants for `bob`@`pc84.example.com`
在导入导出时候出以下问题:
ERROR 1356 (HY000) at line 2388: View 'nxsc.ts_product_attr_v' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
该问题是因为nxsc用户的权限不足造成的,查找后发现该用户没有nxsc数据库的访问权限,添加该权限后OK
ERROR 1305 (42000) at line 1980: FUNCTION nxsc.get_txn_source does not exist
该问题是由于该函数未导入造成的
使用mysqldump -u root -p -ntd -R --triggers=false nxsc>nxsc_trigger.sql
导出数据库触发器和函数部分
一定要用--triggers=false开关,否则会报错
ERROR 1235 (42000) at line 26: This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table'
关于存储过程的权限管理,一种是SQL SECURITY INVOKER,一种是SQL SECURITY DEFINER,也就是一种是调用者权限,一种是定义者权限,如果使用第一种,那么执行的时候是以执行者本身的权限来操作存储过程中包含的表。如果是第二种,那么执行的时候,是以该存储过程的定义者权限来操作。
注意,如果想在导入世后减少definer错误,则存储过程和触发器可以这样做:
update proc set definer="root@localhost";
view则不行
转载地址:http://ukqvi.baihongyu.com/