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

相关文章

将sqlserver数据迁移到mysql的详细步骤记录

《将sqlserver数据迁移到mysql的详细步骤记录》:本文主要介绍将SQLServer数据迁移到MySQL的步骤,包括导出数据、转换数据格式和导入数据,通过示例和工具说明,帮助大家顺利完成... 目录前言一、导出SQL Server 数据二、转换数据格式为mysql兼容格式三、导入数据到MySQL数据

Java循环创建对象内存溢出的解决方法

《Java循环创建对象内存溢出的解决方法》在Java中,如果在循环中不当地创建大量对象而不及时释放内存,很容易导致内存溢出(OutOfMemoryError),所以本文给大家介绍了Java循环创建对象... 目录问题1. 解决方案2. 示例代码2.1 原始版本(可能导致内存溢出)2.2 修改后的版本问题在

MySQL分表自动化创建的实现方案

《MySQL分表自动化创建的实现方案》在数据库应用场景中,随着数据量的不断增长,单表存储数据可能会面临性能瓶颈,例如查询、插入、更新等操作的效率会逐渐降低,分表是一种有效的优化策略,它将数据分散存储在... 目录一、项目目的二、实现过程(一)mysql 事件调度器结合存储过程方式1. 开启事件调度器2. 创

SQL Server使用SELECT INTO实现表备份的代码示例

《SQLServer使用SELECTINTO实现表备份的代码示例》在数据库管理过程中,有时我们需要对表进行备份,以防数据丢失或修改错误,在SQLServer中,可以使用SELECTINT... 在数据库管理过程中,有时我们需要对表进行备份,以防数据丢失或修改错误。在 SQL Server 中,可以使用 SE

大数据小内存排序问题如何巧妙解决

《大数据小内存排序问题如何巧妙解决》文章介绍了大数据小内存排序的三种方法:数据库排序、分治法和位图法,数据库排序简单但速度慢,对设备要求高;分治法高效但实现复杂;位图法可读性差,但存储空间受限... 目录三种方法:方法概要数据库排序(http://www.chinasem.cn对数据库设备要求较高)分治法(常

mysql外键创建不成功/失效如何处理

《mysql外键创建不成功/失效如何处理》文章介绍了在MySQL5.5.40版本中,创建带有外键约束的`stu`和`grade`表时遇到的问题,发现`grade`表的`id`字段没有随着`studen... 当前mysql版本:SELECT VERSION();结果为:5.5.40。在复习mysql外键约

Vue项目中Element UI组件未注册的问题原因及解决方法

《Vue项目中ElementUI组件未注册的问题原因及解决方法》在Vue项目中使用ElementUI组件库时,开发者可能会遇到一些常见问题,例如组件未正确注册导致的警告或错误,本文将详细探讨这些问题... 目录引言一、问题背景1.1 错误信息分析1.2 问题原因二、解决方法2.1 全局引入 Element

SQL注入漏洞扫描之sqlmap详解

《SQL注入漏洞扫描之sqlmap详解》SQLMap是一款自动执行SQL注入的审计工具,支持多种SQL注入技术,包括布尔型盲注、时间型盲注、报错型注入、联合查询注入和堆叠查询注入... 目录what支持类型how---less-1为例1.检测网站是否存在sql注入漏洞的注入点2.列举可用数据库3.列举数据库

linux报错INFO:task xxxxxx:634 blocked for more than 120 seconds.三种解决方式

《linux报错INFO:taskxxxxxx:634blockedformorethan120seconds.三种解决方式》文章描述了一个Linux最小系统运行时出现的“hung_ta... 目录1.问题描述2.解决办法2.1 缩小文件系统缓存大小2.2 修改系统IO调度策略2.3 取消120秒时间限制3

Mysql虚拟列的使用场景

《Mysql虚拟列的使用场景》MySQL虚拟列是一种在查询时动态生成的特殊列,它不占用存储空间,可以提高查询效率和数据处理便利性,本文给大家介绍Mysql虚拟列的相关知识,感兴趣的朋友一起看看吧... 目录1. 介绍mysql虚拟列1.1 定义和作用1.2 虚拟列与普通列的区别2. MySQL虚拟列的类型2