发布网友 发布时间:2022-05-02 11:30
共3个回答
懂视网 时间:2022-05-02 15:51
问题是这样的,使用mysqldump备份线上数据库之后,然后通过mysql 命令行恢复到线下数据库,发现视图都成了表。如下图,可以看到在15572行先创建了v_t_borrow_details表,然后在21322行创建了v_t_borrow_details视图
这样是为了避免依赖关系,比如有2个 VIEW: v_a, v_b
v_a 引用 v_b
如果先建 v_a ,那么它引用的 v_b 还没有创建,是建不成功的,而先把所有的 view 都弄成表先建一次,表是没有依赖的,都会创建成功,然后再逐个删除 view 和创建 view,这时候引用的东东都是以表或 view 的形式存在了,不会因为依赖的对象出问题。
而之所以视图会变成表了,那是因为在恢复过程中出错导致了恢复中断,后面的语句都skipping了。
使用mysql恢复数据时视图变成表
标签:log 数据 cto ges ima 出错 通过 分享 成功
热心网友 时间:2022-05-02 12:59
*.frm是描述了表的结构,*.MYD保存了表的数据记录,*.MYI则是表的索引热心网友 时间:2022-05-02 14:17
任务占坑