当前位置: 首页 > news >正文

[数据库迁移]-MySQL常见问题

[数据库迁移]-MySQL常见问题

森格 | 2023年2月

介绍:记录在MySQL数据库迁移过程中遇到的问题,以及解决方案。


文章目录

  • [数据库迁移]-MySQL常见问题
  • 一、背景
  • 二、常见问题
    • 2.1 ERROR 2003
    • 2.2 ERROR 1273
    • 2.3 ERROR 1071
    • 2.4 视图权限
    • 2.5 ERROR 1062
  • 三、总结


一、背景

对现有环境的实例,克隆出一套新的环境,新环境实例规格与源实例一致。

迁移过程:生成新实例 => 部署MySQL => dump源MySQL实例 => 导入数据到新实例。

二、常见问题

该章节为实际过程中遇到的问题。

2.1 ERROR 2003

问题: mysqldump: Got error: 2003: Can’t connect to MySQL server on ‘xxx.xxx.xxx.xxx’ (111) when trying to connect

问题原因: 由于网络抖动,或mysql服务安装失败导致。

问题解决: 检查mysql服务是否可用,telnet xxx.xxx.xxx.xxx 3306,服务正常则检查网络或磁盘是否满了。

2.2 ERROR 1273

问题: ERROR 1273 (HY000) at line 30: Unknown collation: ‘utf8mb4_0900_ai_ci’

问题原因: 源和新实例版本不一致,utf8mb4_0900_ai_ci是MySQL 8.0的默认排序规则,MySQL 5.7版本中,默认排序规则为utf8mb4_general_ci。

问题解决:

  • 将新实例版本更换为 8.0
  • 将源实例排序规则更改为 utf8mb4_0900_ai_ci

2.3 ERROR 1071

问题: ERROR 1071 (42000) at line 167: Specified key was too long; max key length is 767 bytes

问题原因:

对于Innodb而言,对表字段索引长度有限制,MySQL 5.6版本后引入参数 innodb_large_prefix。有ON 和 OFF 两个取值:

ON:innodb的行记录格式为Dynamic或Compressed的前提下,单列索引长度上限为3071字节。

OFF:innodb的单列索引长度上限为767字节,超出后,主键索引创建失败,辅助索引会被截断为前缀索引。

MySQL 5.6 默认OFF:

在这里插入图片描述

MySQL 5.7 默认ON:

在这里插入图片描述

问题处理:

在 my.cnf 中修改以下两个参数(MySQL 5.7 版本之后可以动态调整参数,可以不修改配置文件)

innodb_large_prefix = on

innodb_file_format = Barracuda(MySQL 5.7版本默认,见下图)

在这里插入图片描述

注:Antelope是原始的Innodb文件格式,支持REDUNDANT和COMPACT行格式。Barracuda是较新的文件格式,支持COMPRESSED和DYNAMIC行格式。

2.4 视图权限

问题:

mysqldump: Couldn’t execute ‘SHOW FIELDS FROM xxxxx’: View ‘xxxxx’ references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them (1356)

视图的创建:

CREATE[OR REPLACE][ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}][DEFINER = user][SQL SECURITY { DEFINER | INVOKER }]VIEW view_name [(column_list)]AS select_statement[WITH [CASCADED | LOCAL] CHECK OPTION]

视图的权限:

  • DEFINER:DEFINER指定的用户,才能执行成功。
  • INVOKER:只要执行者拥有执行群贤就可执行成功。

问题解决:

打开客户端,找到对应视图 => 修改视图,将 SQL SECURITY DEFINER => SQL SECURITY INVOKER,重新执行即可。

在这里插入图片描述

2.5 ERROR 1062

问题: ERROR 1062 (23000) at line 214: Duplicate entry ’ xxxxx’ for key ‘xxxxx’

问题原因:

  1. 插入的数据,违反主键唯一性
  2. 插入的数据,违反了唯一索引的唯一性

问题解决: 最简单的方法就是删除已经存在的值,重新插入。

三、总结

以上就是数据库迁移过程中遇到的一些问题的整理,后续碰见其他问题会继续补充。

相关文章:

[数据库迁移]-MySQL常见问题

[数据库迁移]-MySQL常见问题 森格 | 2023年2月 介绍:记录在MySQL数据库迁移过程中遇到的问题,以及解决方案。 文章目录[数据库迁移]-MySQL常见问题一、背景二、常见问题2.1 ERROR 20032.2 ERROR 12732.3 ERROR 10712.4 视图权限2.5 ERROR 1062三、总结一…...

C语言编译过程

C语言编译过程1、C语言编译过程2、单c文件编译实践3、多c文件编译实践4、define4.1、不带参宏4.2、带参宏4.3、带参宏和带参函数的区别5、选择性编译ifdef、ifndef、if5.1、#ifdef5.2、#ifndef5.3、#if6、静态库和动态链接库6.1、静态库实践6.1.1、将mylib.c制作成静态库6.1.2、…...

前端学习 ---常用标签

常用标签 1,文本标签 文本标签是双标签&#xff0c;自带加粗效果&#xff0c;有自己对应的文本大小&#xff0c;并且独占一行&#xff0c;有默认间距 一级标签&#xff1a;< h1 > < /h1 > 二级标签&#xff1a;< h2 > < /h2> 三级标签&#xff1a;&l…...

2023年PMP考试难不难?

整个考试的考察方向转向还是比较大的&#xff0c;基本上以“价值传递”和“以人为本”这两个出发点来考察项目经理所需要的能力。 1}新版提纲题目数量的变化 总题量从200道减少到180道&#xff0c;所以答题时间上相对变的宽裕一些。考试时间230分钟&#xff0c;中间有十分钟休…...

Netty 入门

文章目录一、概述1.1 Netty 是什么&#xff1f;1.2 Netty 的地位1.3 Netty 的优势二、Hello World2.1 目标2.2 服务器端2.3 客户端2.4 流程梳理三、组件3.1 EventLoop3.2 演示 NioEventLoop 处理 io 事件3.3 演示 NioEventLoop 处理普通任务3.4 演示 NioEventLoop 处理定时任务…...

收藏|一文掌握数据分析在企业的实际流程

一、数据分析概念 1.1 数据分析 是指用适当的统计分析方法对收集来的大量数据进行分析&#xff0c;将他们加以汇总和理解并消化&#xff0c;以求最大化地开发数据的功能&#xff0c;发挥数据的作用。 1.2 数据分析包括 描述性数据分析&#xff08;初级数据分析&#xff09;…...

100ask_imx6ull 输出PWM

查看PWM对应扩展板的引脚 100ask_imx6ul通过扩展板插槽来验证pwm波&#xff0c;所以这里通过扩展板的原理图及芯片手册可知&#xff0c;gpio4_io20&#xff0c;gpio4_io19分别对应着PWM8和PWM7。 设置设备树 打开官方NXP的工具i.MX pins v6工具&#xff0c;PWM7/PWM8的配置如…...

yolov5编译安卓APP:解决图像上全是检测框

yolov5编译安卓APP&#xff1a;解决图像上全是检测框前言一、第一个YOLOv5 APP1.参考链接2.详细说明3.APP检测时图像上全是框的解决方法二、第二个YOLOv5 APP1.参考链接2.详细说明3.APP检测时图像上全是框的解决方法三、其他1.APK打包2.修改APP图标与名字前言 YOLOv5编译安卓A…...

为什么我们需要地图?

想一想&#xff0c;武侠小说里面。一张藏宝图&#xff0c;引来江湖腥风血雨&#xff0c;要么是武功秘籍&#xff0c;要么是绝世宝剑&#xff0c;要么是富可敌国的财富&#xff0c;只要有了藏宝图&#xff0c;便可曲径通幽&#xff0c;到达彼岸。 由此可见&#xff0c;地图的重…...

攻防世界1.新手练习区

4.攻防世界1.新手练习区 1.view_source 访问url&#xff1a; http://111.200.241.244:48855/ 鼠标点击右键不起作用&#xff0c;F12审查元素 得到flag为cyberpeace{0f3a3e4ab8c8664f3cf40d4240ec7b53} 2.robots 访问url&#xff1a; http://111.200.241.244:34362/ rob…...

Python进阶篇(二)-- Django 深入模型

上一节提到了Django是基于MVC架构的Web框架&#xff0c;MVC架构追求的是“模型”和“视图”的解耦合。所谓“模型”说得更直白一些就是数据&#xff08;的表示&#xff09;&#xff0c;所以通常也被称作“数据模型”。在实际的项目中&#xff0c;数据模型通常通过数据库实现持久…...

ABAP SALV实现弹出ALV选择

问题场景 需要弹出一个ALV并获取选择的数据 实现思路 跳转屏幕弹出ALV&#xff08;通过SALV&#xff09;弹出ALV&#xff08;通过REUSE_ALV_POPUP_TO_SELECT&#xff09; 实现效果 因为这里需要的是单选&#xff0c;所以没有多选列 实现代码 MODULE sel_zfretype INPUT.…...

git check-pick,git patch 与 git stash 详解

大家好&#xff0c;我是 17。 今天和大家聊一聊 git check-pick&#xff0c;git patch 与 git stash 的用法。 git cherry-pick 为什么要用 cherry-pick? 不适合 merge 的场景就可以考虑 cherry-pick。 试想下面这些场景 只想同步分支的部分提交。两个分支是两上完全独立…...

OA漏洞-到处搜集整理

一米OA getfile.jsp 任意文件读取漏洞 原文链接 漏洞复现 一米OA getfile.jsp 任意文件读取漏洞 一米OA协同办公系统,集成了OA办公自动化系统、手机客户端、专业报表工具,为全国千万企业用户提供全功能、性价比高的OA软件。一米OA getfile.jsp文件存在任意文件读取漏洞&am…...

web端接收读卡器卡片信息

项目背景 通过电脑连接的读卡器读取卡片信息&#xff0c;并由web页面接收和处理卡片信息。 读卡器抛出卡片信息流程 卡片贴近或放置到读卡器上读卡器解析卡片信息&#xff0c;并形成固定格式的字符串&#xff0c;包括的信息有&#xff1a;卡片写入的数据、卡片原数据&#x…...

BUUCTF-练习场-WEB-第一部分(8道)

[极客大挑战 2019]EasySQL 1payload&#xff1a;1 or 11#是闭合前面的查询语句&#xff0c;or 11恒成立&#xff0c;可以使用or句子绕过判断&#xff0c;#用于注释&#xff0c;注释后面的内容不再执行&#xff0c;所以该sql命令会返回表内所有内容&#xff0c;其实就是实现一个…...

Java Reflection 实战- Class类

Java Reflection 实战 - Class Java 反射使得在运行时检查类、接口、字段和方法成为可能&#xff0c;而不需要在编译时知道类、方法等的名称。也可以使用反射来实例化新对象、调用方法和获取/设置字段值。 Java反射的功能相当强大&#xff0c;可以说是非常有用。例如&#xff…...

背包问题理解思路(01背包、完全背包、分组背包)

这两天把经典的三个背包问题看了一下&#xff0c;网上大多文章是以代码和公式为主&#xff0c;因为平时没刷过算法题所以理解起来花了些时间&#xff0c;固写一篇文章记录理解思路&#xff0c;本文不包含代码实现&#xff08;理解了思路代码实现应该是小问题&#xff0c;网上一…...

Mr. Cappuccino的第39杯咖啡——Kubernetes之深入理解Pod

Kubernetes之深入理解PodPod相关概念Pod详细配置清单Pod核心配置Pod基本配置1. 创建yaml文件2. 创建namespace并根据yaml文件创建资源3. 查看namespace下的pod列表以及pod的详细信息Pod中多个容器的名称和端口号不能相同Pod镜像拉取策略Pod环境变量Pod端口相关设置Pod资源相关配…...

SqlSession 和 SqlSessionTemplate 简单使用及注意事项

1、SqlSession 简单使用 先简单说下 SqlSession 是什么&#xff1f;SqlSession 是对 Connection 的包装&#xff0c;简化对数据库操作。所以你获取到一个 SqlSession 就相当于获取到一个数据库连接&#xff0c;就可以对数据库进行操作。 SqlSession API 如下图示&#xff1a;…...

BLE技术解析:物联网低功耗无线通信核心

1. BLE技术概述&#xff1a;物联网的无线连接基石蓝牙低功耗技术&#xff08;Bluetooth Low Energy&#xff0c;简称BLE&#xff09;自2010年作为蓝牙4.0核心规范的一部分推出以来&#xff0c;已成为物联网设备无线通信的事实标准。与经典蓝牙技术相比&#xff0c;BLE在保持相似…...

从‘Hello World’到打开PRT文件:一个完整的NX C++外部exe开发入门实战(VS2015 + NX12)

从‘Hello World’到打开PRT文件&#xff1a;一个完整的NX C外部exe开发入门实战&#xff08;VS2015 NX12&#xff09; 在工业设计领域&#xff0c;NX&#xff08;原Unigraphics&#xff09;作为一款功能强大的CAD/CAM/CAE软件&#xff0c;其二次开发能力为工程师提供了极大的…...

对象变更记录objectlog工具

文章目录前言演示代码演示环境引入项目项目框架操作步骤设计介绍参考仓库前言 系统基于mybatis-plus, springboot环境 对于重要的一些数据&#xff0c;我们需要记录一条记录的所有版本变化过程&#xff0c;做到持续追踪&#xff0c;为后续问题追踪提供思路。下面展示预期效果(根…...

双强联袂,数智共舞 | 中聚信 × 金蝶启联巅峰对话,共探财税未来新航道

3 月 26 日&#xff0c;由金蝶软件&#xff08;中国&#xff09;有限公司、贵州启联科技有限公司联合主办&#xff0c;中聚信财税技术研究中心协办的「AI 时代 先进管理用金蝶」主题峰会&#xff0c;在贵阳国际生态会议中心圆满落幕。这场聚焦制造企业数字化转型与 AI 赋能管理…...

研发交付管理:资源化与项目制的实践思考

说明&#xff08;阅读前&#xff09;&#xff1a;本文系 方法论层面的归纳&#xff0c;依据常见软件研发组织实践整理&#xff0c;不涉及任何特定企业的内部制度、人数或薪酬细节&#xff1b;文中角色名称&#xff08;如研发经理、项目发起人&#xff09;为 通用称谓&#xff0…...

CSS 容器查询完全指南

CSS 容器查询完全指南 引言 CSS 容器查询&#xff08;Container Queries&#xff09;是 CSS 规范中的一项革命性特性&#xff0c;它允许开发者根据容器的尺寸而非视口尺寸来应用样式。本文将深入探讨容器查询的各种用法和高级技巧。 基础概念回顾 容器查询 vs 媒体查询 特…...

Linux桌面便签终极方案:Sticky让你的灵感永不丢失

Linux桌面便签终极方案&#xff1a;Sticky让你的灵感永不丢失 【免费下载链接】sticky A sticky notes app for the linux desktop 项目地址: https://gitcode.com/gh_mirrors/stic/sticky 在Linux桌面上高效管理零散信息一直是许多用户的痛点。Sticky作为一款专为Linux…...

Honey Select 2汉化补丁:5分钟打造你的完美游戏体验

Honey Select 2汉化补丁&#xff1a;5分钟打造你的完美游戏体验 【免费下载链接】HS2-HF_Patch Automatically translate, uncensor and update HoneySelect2! 项目地址: https://gitcode.com/gh_mirrors/hs/HS2-HF_Patch 还在为《Honey Select 2》的语言障碍而烦恼吗&a…...

D2DX终极指南:让《暗黑破坏神2》在现代PC上重获新生的Glide封装器

D2DX终极指南&#xff1a;让《暗黑破坏神2》在现代PC上重获新生的Glide封装器 【免费下载链接】d2dx D2DX is a complete solution to make Diablo II run well on modern PCs, with high fps and better resolutions. 项目地址: https://gitcode.com/gh_mirrors/d2/d2dx …...

别再只用默认样式了!LVGL Chart图表控件的10个美化技巧与高级样式配置

LVGL Chart图表控件进阶&#xff1a;10个专业级视觉优化技巧 在嵌入式GUI开发中&#xff0c;数据可视化是提升用户体验的关键环节。LVGL作为轻量级图形库的佼佼者&#xff0c;其Chart组件虽然开箱即用&#xff0c;但默认样式往往难以满足专业产品的视觉要求。本文将深入解析10个…...