mysql 备份还原 报错解决 表不存在 table does‘t exit等

2024-01-12 22:32

本文主要是介绍mysql 备份还原 报错解决 表不存在 table does‘t exit等,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

查看:
ps -ef | grep mysql
Linux 查看 mysql 安装目录 :
find / -name mysql

whereis mysql
是在第二个地址:
在这里插入图片描述

在这里插入图片描述


导出数据库数据+表结构,进行还原执行sql语句的时候报错:
XXXX table does’t exit;

后来经过测试发现:此问题出现是因为数据库的版本引起的;

由于生产服务器不知道是什么版本的,脱出来的.sql文件在本地mysql服务器不能执行(此时本地mysql版本为5.5),

导入多次都不能成功,命令行导入、或者数sqlyog工具、Navicat Premium 12导入都失败;

后来卸载了5.5版本数据库,安装了5.7.22版本数据库,再执行导入命令、一切正常特此记录。

备注:经本次被坑,发觉mysql5.5和5.6是一个分水岭、后来开发者谨慎一点以访报错。

解决:
还是不行,就把导出的sql文件打开,查找到报表不存在的那张表,然后把创建语句,插入数据的语句都在现在数据库中执行一下。

报错:
1292 - Incorrect datetime value: ‘0000-00-00 00:00:00’ for column ‘create_time’ at row 1

解决:
在这里插入图片描述

https://blog.csdn.net/sinat_40770656/article/details/101198274


报错:
2006 - MySQL server has gone away
解决:
打开navicat的菜单中的tools,选择server monitor,然后在左列选择 数据库,右列则点选variable表单项,寻找max_allowed_packet,将其值改大。

汉化版中:在菜单中,工具–>服务器监控–>在左侧数据库列表前打勾–>在右侧变量中找到max_allowed_packet,改大这个值,如9999999999
在这里插入图片描述


报错:
mysql invalid default value for 'created’

原sql语句:

CREATE TABLE `user_voucher_refund_log` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id',`up_number` mediumint(8) DEFAULT NULL COMMENT '上传条数',`updata_number` mediumint(8) DEFAULT NULL COMMENT '执行成功条数',`modify_time` datetime DEFAULT CURRENT_TIMESTAMP,`admin_id` mediumint(8) DEFAULT NULL COMMENT '操作人',PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='代金券退券记录';

mysql升级到5.7而引起的默认值不兼容的问题。类型是datetime,默认值被限制,在严格模式,不要将 ‘0000-00-00’做为合法日期。在非严格模式,可以接受该日期,但会生成警告。换成timestamp 后可以使用。

修改后的sql:

CREATE TABLE `user_voucher_refund_log` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id',`up_number` mediumint(8) DEFAULT NULL COMMENT '上传条数',`updata_number` mediumint(8) DEFAULT NULL COMMENT '执行成功条数',`modify_time` timestamp DEFAULT CURRENT_TIMESTAMP,`admin_id` mediumint(8) DEFAULT NULL COMMENT '操作人',PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='代金券退券记录';

报错:
mysql invalid default value for 'modify’

这个错误的主要原因,是因为给了时间字段的列默认值一个 CURRENT_TIMESTAMP 默认值,而这个默认值在低版本的 MySQL 中是不支持的,因此就出现了题目中的这个报错,所以呢,把每个时间字段的默认值修改一下即可,比如:

DROP TABLE IF EXISTS `tb_config`;CREATE TABLE `tb_config` (`config_name` varchar(100) NOT NULL DEFAULT '' COMMENT '配置项的名称',`config_value` varchar(200) NOT NULL DEFAULT '' COMMENT '配置项的值',`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',PRIMARY KEY (`config_name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

改为

DROP TABLE IF EXISTS `tb_config`;CREATE TABLE `tb_config` (`config_name` varchar(100) NOT NULL DEFAULT '' COMMENT '配置项的名称',`config_value` varchar(200) NOT NULL DEFAULT '' COMMENT '配置项的值',`create_time` datetime DEFAULT NULL COMMENT '创建时间',`update_time` datetime DEFAULT NULL COMMENT '修改时间',PRIMARY KEY (`config_name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

这篇关于mysql 备份还原 报错解决 表不存在 table does‘t exit等的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/599361

相关文章

MySQL 日期时间格式化函数 DATE_FORMAT() 的使用示例详解

《MySQL日期时间格式化函数DATE_FORMAT()的使用示例详解》`DATE_FORMAT()`是MySQL中用于格式化日期时间的函数,本文详细介绍了其语法、格式化字符串的含义以及常见日期... 目录一、DATE_FORMAT()语法二、格式化字符串详解三、常见日期时间格式组合四、业务场景五、总结一、

mysql线上查询之前要性能调优的技巧及示例

《mysql线上查询之前要性能调优的技巧及示例》文章介绍了查询优化的几种方法,包括使用索引、避免不必要的列和行、有效的JOIN策略、子查询和派生表的优化、查询提示和优化器提示等,这些方法可以帮助提高数... 目录避免不必要的列和行使用有效的JOIN策略使用子查询和派生表时要小心使用查询提示和优化器提示其他常

grom设置全局日志实现执行并打印sql语句

《grom设置全局日志实现执行并打印sql语句》本文主要介绍了grom设置全局日志实现执行并打印sql语句,包括设置日志级别、实现自定义Logger接口以及如何使用GORM的默认logger,通过这些... 目录gorm中的自定义日志gorm中日志的其他操作日志级别Debug自定义 Loggergorm中的

springboot3.4和mybatis plus的版本问题的解决

《springboot3.4和mybatisplus的版本问题的解决》本文主要介绍了springboot3.4和mybatisplus的版本问题的解决,主要由于SpringBoot3.4与MyBat... 报错1:spring-boot-starter/3.4.0/spring-boot-starter-

MySQL InnoDB引擎ibdata文件损坏/删除后使用frm和ibd文件恢复数据

《MySQLInnoDB引擎ibdata文件损坏/删除后使用frm和ibd文件恢复数据》mysql的ibdata文件被误删、被恶意修改,没有从库和备份数据的情况下的数据恢复,不能保证数据库所有表数据... 参考:mysql Innodb表空间卸载、迁移、装载的使用方法注意!此方法只适用于innodb_fi

mysql通过frm和ibd文件恢复表_mysql5.7根据.frm和.ibd文件恢复表结构和数据

《mysql通过frm和ibd文件恢复表_mysql5.7根据.frm和.ibd文件恢复表结构和数据》文章主要介绍了如何从.frm和.ibd文件恢复MySQLInnoDB表结构和数据,需要的朋友可以参... 目录一、恢复表结构二、恢复表数据补充方法一、恢复表结构(从 .frm 文件)方法 1:使用 mysq

mysql8.0无备份通过idb文件恢复数据的方法、idb文件修复和tablespace id不一致处理

《mysql8.0无备份通过idb文件恢复数据的方法、idb文件修复和tablespaceid不一致处理》文章描述了公司服务器断电后数据库故障的过程,作者通过查看错误日志、重新初始化数据目录、恢复备... 周末突然接到一位一年多没联系的妹妹打来电话,“刘哥,快来救救我”,我脑海瞬间冒出妙瓦底,电信火苲马扁.

MySQL进阶之路索引失效的11种情况详析

《MySQL进阶之路索引失效的11种情况详析》:本文主要介绍MySQL查询优化中的11种常见情况,包括索引的使用和优化策略,通过这些策略,开发者可以显著提升查询性能,需要的朋友可以参考下... 目录前言图示1. 使用不等式操作符(!=, <, >)2. 使用 OR 连接多个条件3. 对索引字段进行计算操作4

MySQL表锁、页面锁和行锁的作用及其优缺点对比分析

《MySQL表锁、页面锁和行锁的作用及其优缺点对比分析》MySQL中的表锁、页面锁和行锁各有特点,适用于不同的场景,表锁锁定整个表,适用于批量操作和MyISAM存储引擎,页面锁锁定数据页,适用于旧版本... 目录1. 表锁(Table Lock)2. 页面锁(Page Lock)3. 行锁(Row Lock

解决java.lang.NullPointerException问题(空指针异常)

《解决java.lang.NullPointerException问题(空指针异常)》本文详细介绍了Java中的NullPointerException异常及其常见原因,包括对象引用为null、数组元... 目录Java.lang.NullPointerException(空指针异常)NullPointer