2、源端用户user1拥有所有database的权限,包括select权限
3、使用user1用户登录源端MySQL,当指定database为database1,select被拒绝
4、从MySQL的物理表文件看,表的.frm和.ibd文件是正常的
5、将报错的表table1备份为table2,删除table1,select information_schema.columns、information_schema.tables可执行且不报错
6、将table2重命名为table1,select information_schema.columns、information_schema.tables再次报一样的错误
7、将table1重命名为table2,select information_schema.columns、information_schema.tables可执行且不报错
8、原因判断
参考: https://bugs.mysql.com/bug.php?id=63527
其他用户也遇到了与MySQL对象相关的information_schema.columns、information_schema.tables的select报错,但是涉及的MySQL对象为view,而我们这里为table。
view可以指定definer等,而table1的创建语法中没有找到这样的字眼。但是推测以某一种方式与definer相关联。
9、辅证
mysql查询admin表的用户名和密码需要用root用户登录。1、查询所有的user:
SELECT * FROM mysql.user
2、得到的PASSWORD是加密过的。
可以通过语句:
>update user set password=PASSWORD('newpassword') where user in
(select table_schema from information_schema.table where table_name=
'admin')
这个题是对的
information_schema数据库下的Routines表中。
可以通过查询该表的记录来查询存储过程和函数的信息,
ROUTINE_NAME字段中存储的是存储过程和函数的名称;
sp_name参数表示存储过程或函数的名称
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)