我从远程服务器上的工作台上备份了数据库。因此,当我在本地环境中导入它时,出现错误:
错误1193(HY000):未知系统变量'GTID_PURGED'
我正在使用xampp服务器
通过控制台或phpmyadmin导入数据库时遇到相同的错误
Ain*_*Ain 11
花了很多时间之后。
我在文本编辑器中打开我的数据库文件并搜索这个变量“GLOBAL.GTID_PURGED”。我只是设置它的值“”
喜欢
SET @@GLOBAL.GTID_PURGED=""
Run Code Online (Sandbox Code Playgroud)
然后我现在通过 Windows 控制台上传数据库它就像一个魅力:)
需要删除所有带有 GTID_PURGED 的行
sed -i '/@@GLOBAL.GTID_PURGED=/d' your_file.sql
Run Code Online (Sandbox Code Playgroud)
最终文件将毫无问题地加载
通过附加该--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的映射关系以及它们之间的区别。
小智 6
请按照以下步骤解决此问题。
这对我有用,我希望这对你也有用。