首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >还原MySQL备份时的视图问题

还原MySQL备份时的视图问题
EN

Database Administration用户
提问于 2012-05-02 03:01:39
回答 2查看 14.1K关注 0票数 5

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

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

代码语言:javascript
运行
AI代码解释
复制
mysqldump -u user -ppassword --routines db_name > backup.sql

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

顺便说一句,备份进程结束时没有问题,也没有警告.

在恢复之后,我遇到了一些问题,恢复过程很好地结束了,没有错误,但是一些视图被破坏了。

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

我不能改变风景本身。

我怎么才能修好它?为什么我有这个问题?

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

使用简单的sql (描述view_name),我得到了以下错误:

错误代码: 1356。查看“db.view_name”引用无效表(S)或列(S)或函数(AC.26)或定义者/调用者缺乏使用它们的权限

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

SHOW CREATE VIEW view_name

错误代码: 1356。视图'view_name‘引用无效表(S)或列(S)或函数(AC.26)>或定义者/调用者缺乏使用它们的权限

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

代码语言:javascript
运行
AI代码解释
复制
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
CREATE_TIME NULL
UPDATE_TIME NULL
CHECK_TIME  NULL
TABLE_COLLATION NULL
CHECKSUM    NULL
CREATE_OPTIONS  NULL
TABLE_COMMENT  'View ''db_name.view_name'' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them'

此视图是由其他视图相互连接而生成的视图。

EN

回答 2

Database Administration用户

发布于 2012-05-02 07:14:49

视图的定义必须包含在转储文件中。

要查看定义,在dumpfile上运行以下命令:

代码语言:javascript
运行
AI代码解释
复制
cat backup.sql | grep -A 3 "CREATE ALGORITHM" > backup_views.sql
cat backup_views.sql

然后,您可以删除“冒犯”视图(S)并手动重新创建它们。

如果您的另一台服务器已经建立了视图,则应该只使用mysqldump模式。它也将包含视图。@DTest和我以前写过这方面的文章

视图总是在mysqldump中最后处理(在所有表之后)。

如果一个视图引用另一个视图,而创建视图的顺序没有考虑到这一点,也可能会出现这个问题。

票数 2
EN

Database Administration用户

发布于 2019-12-19 07:15:51

实际上,作为错误报告,这可以与视图定义器/调用者相关。通常发生在备份视图定义器为db1user1时,然后以不同的名称(例如db2 )还原此备份,这样user1就不会对这个新数据库具有权限。

在这种情况下,您可以将user1映射到db2,或者在backup.sql文件中使用user2替换user1,然后运行restore (假设user2db2具有必要的权限--通常情况下,进行生产数据库备份,然后将其还原为测试数据库)。

您可以在这个答案中阅读更多细节。

票数 0
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/17352

复制
相关文章
MySQL备份还原
在命令行窗口输入:mysqldump -u 用户名 -p 数据库名 [表名 表名] >filename.sql
用户10832995
2023/11/09
4390
挑战MySQL NDB Cluster备份/还原问题
问题1:您有一个大型数据库,需要3个小时的备份时间。备份期间将运行插入/更新/删除。如何运行备份,以使备份开始后不会有任何插入/更新/删除操作在备份文件中得到反映?
MySQLSE
2021/03/25
1.1K0
xtrabackup 备份还原mysql
有一个项目要从云上整体迁移到公司机房内,里面有mysql5.6.20,这个mysql没做过备份,也没主从,然后打算通过xtrabackup先做个全备,然后再做个主从(因为在迁移的阶段,云上服务器还会有新的数据生成,主从是为了确保迁移的数据完整)
xmlgrg
2023/11/29
3680
xtrabackup 备份还原mysql
mysql备份后缀是什么_mysql备份还原
格式:mysqldump -h主机名 -P端口 -u用户名 -p密码 –database 数据库名 > 文件名.sql
全栈程序员站长
2022/07/02
5.4K0
MySQL备份还原——AutoMySQLBackup介绍
AutoMySQLBackup是一个开源的MySQL备份脚本。可以说它是一个轻量级的备份方案,AutoMySQLBackup的安装、配置非常简单、方便。AutoMySQLBackup的sourceforge上介绍有如它本身,也非常的简单:
拓荒者
2019/03/11
5.3K0
MySQL备份还原——AutoMySQLBackup介绍
Mysql备份与还原——xtrabackup
上次我们介绍了采用逻辑备份mysqldump 备份方式,其最大的缺陷就是备份和恢复速度都慢,但如果数据库非常大,那再使用 mysqldump 备份就不太适合了。这时就需要一种好用又高效的工具,xtrabackup 就是其中一款,号称免费版的 InnoDB HotBackup。(mysqldump备份请到L宝宝聊IT公众号中找“mysql备份与还原——mysqldump结合binlog”文章)
L宝宝聊IT
2018/09/29
5.8K0
Mysql备份与还原——xtrabackup
MySQL 数据备份与还原
步骤: 一.MYSQL的命令行模式的设置: 桌面->我的电脑->属性->环境变量->新建->PATH=";path/mysql/bin;"  其中path为MYSQL的安装路径。 二.命令行进入MYSQL的方法: 1.C:\>mysql -h hostname -u username -p 按ENTER键,等待然后输入密码,这里hostname为服务器的名称,如localhost,username为MYSQL的用户名,如root.进入命令行就可以直接操作MYSQL了。 三.从数据库导出数据库文件
昨天50还没用完
2018/06/29
2.2K0
MySQL 数据备份与还原
mysqldump命令将数据库中的数据备份成一个文本文件,表的结构和表中的数据将存储在生成的文本文件中。
阮键
2020/04/30
2.3K0
MySQL 数据备份与还原
mysql备份还原方案xtrabackup
摘要:mysql当数据库过大的时候,使用mysqldump的方式进行备份是一种非常慢的操作,500G的数据就够你备份一天一夜,我发现了一种mysql快速备份的方案,它使用文件存储的方式进行备份,支持全量和增量备份,这里所写为全量方式(如果可以接受备份开始到下次恢复之间的数据丢失时使用)。xtrabackup的备份速度很快,不管有多少的数据,备份速度完全是依赖于磁盘的读写速度,还支持压缩、不打断正在执行的事务、自动实现备份检验(用mysqldump会锁表,要加上可重复读--single-transaction才不会影响线上的程序写表,但是写表后的东西在还原的时候就会丢了,这也是全量备份的痛点)
机智的程序员小熊
2019/01/16
1.5K0
mysql备份还原方案xtrabackup
MySQL数据备份与还原
MySQL 数据库管理系统通常会采用有效的措施来维护数据库的可靠性和完整性。但是在数据库的实际使用过程当中,仍存在着一些不可预估的因素,会造成数据库运行事务的异常中断,从而影响数据的正确性,甚至会破坏数据库,导致数据库中的数据部分或全部丢失。
星哥玩云
2022/09/15
2.8K0
MySQL数据备份与还原
mysql 备份还原shell 脚本
在备份时出现mysqldump: Error: Binlogging on server not active时,是因为mysql的binlog没有启动,在mysql的my.ini文件中[mysqld]下面添加
艳艳代码杂货店
2021/10/29
3.8K0
MySQL 数据备份与还原
  mysqldump命令将数据库中的数据备份成一个文本文件。表的结构和表中的数据将存储在生成的文本文件中。
KEVINGUO_CN
2020/03/16
2.4K0
Mysql备份还原数据库
mysqldump -u username -p -hhost --databases dbname2 dbname2 > Backup.sql
Sindsun
2019/12/11
10.5K0
MySQL数据备份及还原(一)
关于删库跑路的事故现在已经屡见不鲜了,数据备份的必要性是企业数据管理极其重要的一项工作。关于数据备份、恢复也有很多场景及方法,本系列也会将主要的几种工具通过案例进行演示。
俊才
2020/03/24
1.5K0
MySQL数据备份及还原(一)
mysql数据库备份和还原的命令_Mysql数据库备份和还原常用的命令
Mysql数据库备份和还原常用的命令是进行Mysql数据库备份和还原的关键,没有命令,什么都无从做起,更谈不上什么备份还原,只有给系统这个命令,让它去执行,才能完成Mysql数据库备份和还原的操作,下面就是操作的常用命令。
全栈程序员站长
2022/08/19
7.8K0
ghost备份和还原_cgi备份还原
用Ghost手动备份系统,主要是针对组装电脑而言,至于品牌机,它都会有自己的系统恢复工具,所以不在此列。 现在很多人对在使用电脑中出现系统崩溃的故障,都会采取重装系统的办法。 其实重装系统是一件比较麻烦的事。 一切都得从头开始,尤其是安装驱动、应用程序等等,全部再装好需要花费较长的时间。 所以在这里特别建议大家,在安装完操作系统之后,对系统进行手动备份。 这样当系统出现故障不能正常启动时,就可以从光盘或U盘启动,然后将系统还原,省时省力。 现在的操作系统镜像文件都提供有Ghost程序,可以将镜像文件刻录到光盘,也可以用老毛桃制作一个U盘启动盘。
全栈程序员站长
2022/10/04
3.9K0
ghost备份和还原_cgi备份还原
MySQL(十四)之数据备份与还原
前言   上一篇分享了关于MySQL事务的知识,在我们数据库中最重要的就是数据了,所以数据的备份就显的特别的重要!   为什么要备份数据?   在生产环境中我们数据库可能会遭遇各种各样的不测从而导致数据丢失, 大概分为以下几种:     硬件故障、软件故障、自然灾害、黑客攻击、误操作(占比例大)   所以, 为了在数据丢失之后能够恢复数据, 我们就需要定期的备份数据, 备份数据的策略要根据不同的应用场景进行定制, 大致有几个参考数值, 我们可以根据这些数值从而定制符合特定环境中的数据备份策略:     能够
用户1195962
2018/01/18
3.2K0
MySQL(十四)之数据备份与还原
MySQL数据库备份与还原
MySQL数据库备份与还原 今天就分享代码,大家回去看看研究下! import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; im
Java帮帮
2018/03/19
5.2K0
MySQL操作之数据备份与还原
这样数据库中数据丢失或者出错的情况下,就可以对数据进行还原,从而最大限度的降低损失。
ha_lydms
2023/08/09
2220
Mysql数据库备份和还原
mysqldump-hhostname-uusername-ppassworddatabasename>backupfile.sql
DevinGeng
2019/04/09
4.2K0
Mysql数据库备份和还原

相似问题

MySQL企业备份可以执行视图的部分备份/还原吗?

30

还原备份时mysql重复输入错误1062

40

备份/还原日志文件问题

10

关于PostgreSQL备份/还原的问题

10

MySQL喜欢的- 100%精确备份/还原

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文