迁移视图问题

为提高效率,请提供以下信息,问题描述清晰能够更快得到解决:
【 TiDB 使用环境】
5.1

【概述】 场景 + 问题概述

【备份和数据迁移策略逻辑】

【背景】 做过哪些操作

【现象】 业务和数据库现象

【问题】 当前遇到的问题

【业务影响】

【TiDB 版本】

【附件】


若提问为性能优化、故障排查类问题,请下载脚本运行。终端输出的打印结果,请务必全选并复制粘贴上传。

2 个赞

dumpling迁移视图报错

1 个赞

大概率是对应的用户没有视图访问的权限。你可以用当前用户 select 查一下视图。应该是不能访问的。

1 个赞

root用户

show create view 看下视图的用户吧。另外 使用 root 用户登陆 select 查一下视图反馈下结果。

onenext@180.169.105.198`

CREATE ALGORITHM=UNDEFINED DEFINER=onenext@180.169.105.198 SQL SECURITY DEFINER VIEW dm_mapping_status_v (taxpayer_id, company_code, pencent) AS SELECT m_ss_taxpayer.id AS taxpayer_id,m_ss_taxpayer.taxpayer_code AS company_code,0 AS pencent FROM onenext_main.m_ss_taxpayer WHERE (m_ss_taxpayer.enabled=_UTF8MB4’y’)

你这个视图应该是只有这个账号可以访问到的。先确认下这个账号是否存在。另外你可以操作下,root 用户应该也无法查看这个视图的。

我要迁移视图dumpling 难道只能用对应的账户吗?

先确认你这个账号有没有 onenext @ 180.169.105.198

麻烦确认下,root 用户是否可以访问这个视图?反馈下截图吧。

看看视图所涉及的表是否存在呢,root用户show grants看下权限呢

我之前还原的时候遇到类似的问题,仅供参考,视图所涉及的表还没有创建,所以造成了这个现象,比如说create table a,
create view a_v select * from a
在恢复的时候,可能创建视图的语句在创建表的语句之前运行了,就会造成这样的一个问题,可以看看视图所涉及的表是否有创建

dumpling 备份 表不存在 视图是无法迁移?

和 mysql 行为一致。建议看下 mysql 的相关内容。

1 个赞

此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。