韩国做游戏的电影 迅雷下载网站有哪些,wordpress主题xiu5.6,100种禁用的视频软件短视频,做国外网站的站长MySQL从5.7升级到8.0步骤及其问题
前言
本文源自微博客#xff0c;且以获得授权#xff0c;请尊重版权。 一、需求背景 Docker环境下#xff0c;MySQL5.7升级到8.0#xff0c;数据迁移时使用的是mysqldump方式迁移。 二、迁移步骤 数据备份#xff1a; docker exec -i 1… MySQL从5.7升级到8.0步骤及其问题
前言
本文源自微博客且以获得授权请尊重版权。 一、需求背景 Docker环境下MySQL5.7升级到8.0数据迁移时使用的是mysqldump方式迁移。 二、迁移步骤 数据备份 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.sqldocker拉新的镜像然后创建容器 数据恢复 复制数据到容器中: 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语句也印证了这个情况 五、解决 经过上述分析我们知道出现这个问题的根本原因就是因为我们执行了一些包含mysql.innodb_index_stats的语句那么就可以对症下药了有两个解决方案
删掉其中关于 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)
) ENGINEInnoDB DEFAULT CHARSETutf8 COLLATEutf8_bin STATS_PERSISTENT0;
/*!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;修改数据备份语句为mysqldump -u root -p --all-databases --ignore-tablemysql.innodb_index_stats --ignore-tablemysql.innodb_table_stats dump.sql然后重新导入即可解决。