MySQL从5.7升级到8.0步骤及其问题

MySQL从5.7升级到8.0步骤及其问题

前言

本文源自微博客,且以获得授权,请尊重版权。

一、需求背景

     Docker环境下,MySQL5.7升级到8.0,数据迁移时使用的是mysqldump方式迁移。

二、迁移步骤

  1. 数据备份:

    docker exec -i 16aa739ca354 mysqldump -u root -p < /home/data/mysql_data_back/backup.sql
    

    或者先进入到容器内部,然后进入目录:/usr/bin/(mysqldump所在目录),然后执行:

    mysqldump -u root -p < /home/data/mysql_data_back/backup.sql
    
  2. docker拉新的镜像然后创建容器

  3. 数据恢复:

    • 复制数据到容器中:

      docker cp /home/data/mysql_data_back/backup.sql 16aa739ca354:/tmp/
      
    • 恢复数据:

      docker exec -i 16aa739ca354 mysql -u root -p < /tmp/backup.sql
      

三、问题

     在执行最后一步的数据恢复过程中,出现:ERROR 3554 (HY000) at line 318: Access to system table 'mysql.innodb_index_stats' is rejected.

四、分析

     这个错误通常表示正在尝试导入一个包含对系统表(如 mysql.innodb_index_stats)的访问或修改操作的 SQL 文件,但当前用户没有足够的权限来执行这些操作。
     在 MySQL 中,系统表(如 mysql.innodb_index_stats)通常是为 MySQL 服务器内部使用而保留的,并且不应该由普通用户直接访问或修改。

     导出的sql语句也印证了这个情况:

image.png

五、解决

     经过上述分析,我们知道出现这个问题的根本原因就是因为我们执行了一些包含mysql.innodb_index_stats的语句,那么就可以对症下药了,有两个解决方案:

  1. 删掉其中关于 mysql.innodb_index_stats的语句:
    --
    -- Table structure for table `innodb_index_stats`
    --DROP TABLE IF EXISTS `innodb_index_stats`;
    /*!40101 SET @saved_cs_client     = @@character_set_client */;
    /*!40101 SET character_set_client = utf8 */;
    CREATE TABLE `innodb_index_stats` (`database_name` varchar(64) COLLATE utf8_bin NOT NULL,`table_name` varchar(199) COLLATE utf8_bin NOT NULL,`index_name` varchar(64) COLLATE utf8_bin NOT NULL,`last_update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,`stat_name` varchar(64) COLLATE utf8_bin NOT NULL,`stat_value` bigint(20) unsigned NOT NULL,`sample_size` bigint(20) unsigned DEFAULT NULL,`stat_description` varchar(1024) COLLATE utf8_bin NOT NULL,PRIMARY KEY (`database_name`,`table_name`,`index_name`,`stat_name`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin STATS_PERSISTENT=0;
    /*!40101 SET character_set_client = @saved_cs_client */;--
    -- Dumping data for table `innodb_index_stats`
    --LOCK TABLES `innodb_index_stats` WRITE;
    /*!40000 ALTER TABLE `innodb_index_stats` DISABLE KEYS */;
    INSERT INTO `innodb_index_stats` VALUES (...);
    /*!40000 ALTER TABLE `innodb_index_stats` ENABLE KEYS */;
    UNLOCK TABLES;
    
  2. 修改数据备份语句为:
    mysqldump -u root -p --all-databases --ignore-table=mysql.innodb_index_stats --ignore-table=mysql.innodb_table_stats > dump.sql
    

然后重新导入即可解决。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/30106.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python-画三角形

[题目描述] 输入一个正整数n&#xff0c;请使用大写字母拼成一个这样的三角形图案&#xff08;参考样例输入输出&#xff09;&#xff1a;三角形图案的第1行有1个字母&#xff0c;第2行有2个字母&#xff0c;以此类推&#xff1b;在三角形图案中&#xff0c;由上至下、由左至右…

使用高德API计算两个地址的距离

要使用高德地图API来计算两个城市之间的距离&#xff0c;你需要首先在高德开放平台上注册并获取API密钥&#xff08;AK&#xff09;。以下是一个使用Java调用高德地图API来计算两个城市之间距离的示例代码。 步骤 1: 获取高德地图API密钥 访问高德开放平台&#xff08;https:…

GIS设计与开发课程设计(三)

环境&#xff1a;Windows10专业版 ArcGIS10.2 ArcEngine10.2 Visual Studio 2019 因每个人电脑版本和软件版本不同&#xff0c;运行的结果可能不同 系列文章&#xff1a; GIS设计与开发课程设计&#xff08;一&#xff09; GIS设计与开发课程设计&#xff08;二&#xff09;…

Apple Watch开发入门知识,还是很有必要的

随着现在 Apple 生态圈的发展&#xff0c;越来越多的 App 会把自己的简化版从 iOS 迁移至 WatchOS&#xff08;支付宝、微信、手Q、头条、QQ音乐、网易云音乐等等&#xff0c;都有Watch版App&#xff09;。官方开发文档&#xff1a;Setting up a watchOS project | Apple Devel…

学习Java中的日志系统设计与优化

学习Java中的日志系统设计与优化 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01; 引言 在Java应用程序中&#xff0c;日志系统是非常重要的组成部分&#xff…

力扣1539.第k个缺失的正整数

力扣1539.第k个缺失的正整数 占位运算 只要n<k &#xff0c;k;最终k就是结果 class Solution {public:int findKthPositive(vector<int>& arr, int k) {for(int n : arr){if(n < k) k ;else break;}return k;}};

神经网络学习3-卷积层

膨胀卷积&#xff0c;也被称为空洞卷积或扩张卷积&#xff0c;是一种特殊的卷积运算&#xff0c;它在标准卷积的基础上引入了一个额外的超参数&#xff0c;即膨胀率&#xff08;dilation rate&#xff09;。这个超参数决定了在卷积核的元素之间插入多少额外的空间。通过这种方式…

04-对原生app应用中的元素进行定位

本文介绍对于安卓原生app应用中的元素如何进行定位。 一、uiautomatorviewer uiautomatorviewer是Android-SDK自带的一个元素定位工具&#xff0c;非常简单好用&#xff0c;可以使用该工具查看app应用中的元素属性&#xff0c;帮助我们在代码中进行元素定位。 1&#xff09;使…

为什么要用较短的域名?

在互联网的世界中&#xff0c;域名是网站身份的重要标识。一个好记、易于输入的域名对于网站的成功至关重要。在众多域名中&#xff0c;较短的域名因其独特的优势而受到青睐。本文将探讨为什么要选择较短的域名&#xff0c;并分析其带来的益处。 易记性 优势&#xff1a;较短…

黑龙江游戏行业需不需要做等保?

游戏行业是否需要进行等保 游戏行业作为当今最受欢迎的娱乐方式之一&#xff0c;其用户数量庞大且用户粘性强&#xff0c;因此成为了网络安全攻击的重点目标。为了保障游戏行业的网络安全&#xff0c;等级保护制度&#xff08;简称“等保”&#xff09;的实施显得尤为重要。 …

el-table 固定前n行 配合 max-height 生效

:row-class-name"TableRowClassName" 加上类名 <el-table:data"computedTableList"borderstyle"width: 100%":row-class-name"TableRowClassName"max-height"800"><el-table-column fixed prop"name"…

【OS基础】符合AUTOSAR标准的RTAOS-Alarms详解

目录 前言 正文 7.报警Alarms 7.1配置Alarms 7.1.1激活一个任务 7.1.2 设置一个事件 7.1.3报警回调Alarm Callback 7.1.4 增加计数器值 7.2设置Alarms 7.2.1 绝对Alarms 7.2.2 相对Alarm 7.3自启动Alarms 7.4 删除Alarms 7.5确认何时会发生Alarm 7.6非周期Alarm…

CC攻击需要成本吗

CC攻击几乎不需要成本。这是因为CC攻击很容易发起&#xff0c;大部分进行CC攻击的人都是使用在网上下载的工具&#xff0c;这些工具很少去伪造特征&#xff0c;因此会留下一些痕迹。这意味着&#xff0c;尽管CC攻击可能会对目标系统造成严重影响&#xff0c;但其发起者几乎不需…

Josephus问题

Josephus问题&#xff0c;又称为“约瑟夫环”或“丢手绢问题”&#xff0c;是一个经典的计算机科学和数学问题。这个问题的起源有一个古老的故事背景&#xff0c;但与解决问题的具体算法设计并无直接关联。以下是Josephus问题的详细描述和一种可能的解决方案&#xff1a; ### …

细致解析跨境电商多平台搭建利器-179海关接口源码应用方法

介绍 跨境电商已成为当前电商行业的热门发展方向之一。为满足跨境电商的需求&#xff0c;各大平台纷纷推出了多平台搭建利器。其中&#xff0c;179海关接口源码是一款非常实用的工具&#xff0c;本文将对其应用方法进行细致解析。 了解179海关接口源码 179海关接口源码可以帮…

Vue插件开发:Vue.js的插件架构允许开发者扩展Vue的核心功能,我们可以探讨如何开发一个Vue插件并与社区分享

了解Vue插件 Vue插件的概念: Vue插件用于为Vue.js添加全局级别的功能。它提供了一种开箱即用的机制来应用全局性的功能扩展。这些插件通常用来将全局方法或属性,组件选项,Vue实例的方法,或者注入一些组件选项比如mixins和自定义方法添加至Vue.js。 Vue插件的使用场景:…

2024最新版Vcpkg安装第三方库报错error: building XXXX failed with: BUILD_FAILED

很多朋友用Vcpkg安装第三方库的时候基本都会遇到报错的情况&#xff0c;而且大部分都会出现下面这个页面里面的红色报错信息&#xff0c;但是实际上真正错误应该是上面的Cmake Error提示&#xff0c;下面的红色警告只是Vcpkg官方提供给我们的一个最基础的解决方式&#xff0c;而…

mvn dependency:tree查看依赖树时,报错:No plugin found for prefix ‘dependency’ 该如何解决

今天引入依赖出来问题&#xff0c;就像查看依赖树找找&#xff0c;结果依赖树也不行&#xff0c;好吧&#xff0c;又多了个bug任务。从字面英文意思来看就是没有安装相关的查看依赖树的插件&#xff0c;其实也就是这么简单。&#xff08;我的SpringBoot版本是2.6.3&#xff09;…

【杂记-浅谈数据的封装与解封装】

一、数据封装 概述 Encapsulation&#xff0c;数据封装&#xff0c;是计算机网络中的一个核心概念&#xff0c;涉及将数据从一个地方传输到另一个地方的过程。封装不仅包括数据的传输&#xff0c;还包括一系列的处理步骤&#xff0c;以确保数据能够准确无误地到达目的地。这一…

【Docker系列】深入解析 Docker 容器部署脚本

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…