mysqldump:禁用“INFORMATION_SCHEMA.SESSION_VARIABLES”功能

Modified on: Fri, 08 Nov 2019 06:20:02 +0800

当我尝试在Percona Server 5.7.17-12上运行mysqldump时,我收到此错误:

# mysqldump -u backups -pxxxx -h 127.0.0.1 --single-transaction --quick dbname
mysqldump: [Warning] Using a password on the command line interface can be insecure.
-- MySQL dump 10.13  Distrib 5.7.17-12, for debian-linux-gnu (x86_64)
--
-- Host: 127.0.0.1    Database: dbname
-- ------------------------------------------------------
-- Server version       5.7.17-12

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
/*!50112 SELECT COUNT(*) INTO @is_rocksdb_supported FROM INFORMATION_SCHEMA.SESSION_VARIABLES WHERE VARIABLE_NAME='rocksdb_bulk_load' */;
/*!50112 SET @save_old_rocksdb_bulk_load = IF (@is_rocksdb_supported, 'SET @old_rocksdb_bulk_load = @@rocksdb_bulk_load', 'SET @dummy_old_rocksdb_bulk_load = 0') */;
/*!50112 PREPARE s FROM @save_old_rocksdb_bulk_load */;
/*!50112 EXECUTE s */;
/*!50112 SET @enable_bulk_load = IF (@is_rocksdb_supported, 'SET SESSION rocksdb_bulk_load = 1', 'SET @dummy_rocksdb_bulk_load = 0') */;
/*!50112 PREPARE s FROM @enable_bulk_load */;
/*!50112 EXECUTE s */;
/*!50112 DEALLOCATE PREPARE s */;
mysqldump: Couldn't execute 'SELECT COUNT(*) FROM INFORMATION_SCHEMA.SESSION_VARIABLES WHERE VARIABLE_NAME LIKE 'rocksdb\_skip\_fill\_cache'': The 'INFORMATION_SCHEMA.SESSION_VARIABLES' feature is disabled; see the documentation for 'show_compatibility_56' (3167)

为什么mysqldump试图使用那个已弃用的变量?是否有任何方法可以在启用show_compatibility_56旁边修复它(我不希望这样做,也不会重新启动服务器)

作者:the_nuts

最佳答案

这是Percona Server 5.7的错误:

  

这是我们移植Facebook MySQL工作的一部分
  MyRocks引擎到Percona Server 5.7。在P_S上使用I_S不是
  在此功能从5.6到5.7

合并期间捕获
  
  

立即解决方法是将show_compatibility_56更改回
  ON的默认值,它将公开所需的表
  I_S。看到
  https://dev.mysql.com/ DOC / refman / 5.7 / EN /服务器系统variables.html#sysvar_show_compatibility_56
  详情。

  
  

或者,可以使用先前版本安装的mysqldump二进制文件
  用于代替最近发布的打包版本。

  
  

我希望在Percona Server的下一个版本中修复此问题
  5.7

https://bugs.launchpad.net/percona-server/+bug / 1676401


已修复:错误已通过Percona Server 5.7.17-13的发布修复。

作者:,the_nuts

相关问答

添加新评论