错误1193(HY000):未知系统变量'GTID_PURGED'

Ain*_*Ain 3 mysql

我从远程服务器上的工作台上备份了数据库。因此,当我在本地环境中导入它时,出现错误:

错误1193(HY000):未知系统变量'GTID_PURGED'

我正在使用xampp服务器

通过控制台或phpmyadmin导入数据库时​​遇到相同的错误

Ain*_*Ain 11

花了很多时间之后。

我在文本编辑器中打开我的数据库文件并搜索这个变量“GLOBAL.GTID_PURGED”。我只是设置它的值“”

喜欢

SET @@GLOBAL.GTID_PURGED=""
Run Code Online (Sandbox Code Playgroud)

然后我现在通过 Windows 控制台上传数据库它就像一个魅力:)

  • 我只是一起注释掉了那条线并且工作正常。 (5认同)
  • 我刚刚删除了那条线并且它起作用了:-) (3认同)

Vik*_*iev 9

需要删除所有带有 GTID_PURGED 的行

sed -i '/@@GLOBAL.GTID_PURGED=/d' your_file.sql
Run Code Online (Sandbox Code Playgroud)

最终文件将毫无问题地加载

  • 将其合并到我的数据库恢复脚本`pv db-dumps/mysql-backup.sql.gz | 中很方便。猫猫 | sed '/@@GLOBAL.GTID_PURGED=/d' | sed '/@@GLOBAL.GTID_PURGED=/d' | mysql 数据库名称` (2认同)

hai*_*ong 6

通过附加该--set-gtid-purged=OFF选项重新创建转储文件将解决此问题。

这是因为它是GTIDs在MySQL 5.6中添加的,早期版本无法识别。

您的命令可能如下所示:

mysqldump -u username -ppassword -h mydbhost --set-gtid-purged=OFF db_name > dump_file.sql
Run Code Online (Sandbox Code Playgroud)

关于我的故事的更多内容,我也遇到了与MySQL 5.7产生的转储文件相同的问题。我正在尝试将数据导入到默认的MariaDB安装为5.5(我想)的新CentOS 7安装中。

我想到的第一个想法是升级到最新的MariaDB。幸运的是,他们的网站提供了一个强大的实用程序,可帮助您设置Linux版本的软件包存储库。此外,感谢他们,digitalocean 的升级过程指南非常简短。

在升级到最新的MariaDB稳定版本10.2时,不会摆脱此问题。因此,我仍然必须使用上面提到的选项,但是无论如何,它使我可以升级到最新的MariaDB。

升级后的另一个问题是最新的MariaDB不再支持innodb_additional_mem_pool_sizeconfig from my-innodb-heavy-4G.cnf,服务器无法启动。从MySQL文档中,它已从MySQL 5.7中删除。我可以在注释掉之后启动服务器。我不是数据库专家,我不会花更多时间检查MariaDB版本与MySQL DB的映射关系以及它们之间的区别。

  • MariaDB 似乎对此选项一点也不感兴趣,因为甚至 10.4 也会抱怨。这个标志有很大帮助。 (2认同)

小智 6

请按照以下步骤解决此问题。

  1. 在记事本++/记事本中打开数据库转储
  2. 搜索SET @@GLOBAL.GTID_PURGED= “[此处将出现一些值]”
  3. 只需从数据库转储中删除此[SET @@GLOBAL.GTID_PURGED=""]行
  4. 保存您的数据库转储并立即尝试导入。

这对我有用,我希望这对你也有用。