小编Mar*_*rcx的帖子

恢复 MySQL 备份时的视图问题

我有一个包含一些表、视图和例程的数据库 (InnoDB)...

我定期使用命令行进行备份:

mysqldump -u user -ppassword --routines db_name > backup.sql
Run Code Online (Sandbox Code Playgroud)

但是我在使用工作台创建备份时也遇到了问题

顺便说一句,备份过程终止没有问题或警告......

恢复后我遇到了一些问题,恢复过程结束没有错误,但有些视图已损坏

  • 如果我尝试更改它或查看结构,我会得到一个空/空白结果
  • 如果我在视图上执行选择,我会收到正确的结果(比如视图没有损坏)...

我无法改变视图本身..

我该如何解决?为什么我有这个问题?

我使用 MySQL Workbench 5.2.35 CE 得到一个空白/空结果....

使用普通 sql(描述 view_name)我收到以下错误:

错误代码:1356。视图“db.view_name”引用了无效的表或列或函数或视图的定义者/调用者缺乏使用它们的权限

select * from view_name仍然返回预期结果

SHOW CREATE VIEW view_name

错误代码:1356。视图“view_name”引用了无效的表或列或函数 > 或视图的定义者/调用者缺乏使用它们的权限

SELECT * FROM INFORMATION_SCHEMA.TABLES where table_schema = 'db_name' and table_name = 'view_name'

TABLE_CATALOG   def 
TABLE_SCHEMA    db_name 
TABLE_NAME      view_name 
TABLE_TYPE  VIEW
ENGINE  VERSION NULL
ROW_FORMAT  NULL
TABLE_ROWS  NULL
AVG_ROW_LENGTH  NULL
DATA_LENGTH NULL
MAX_DATA_LENGTH NULL
INDEX_LENGTH    NULL
DATA_FREE   NULL
AUTO_INCREMENT  NULL …
Run Code Online (Sandbox Code Playgroud)

mysql mysqldump backup view restore

5
推荐指数
1
解决办法
1万
查看次数

标签 统计

backup ×1

mysql ×1

mysqldump ×1

restore ×1

view ×1