Mysql 错误1193(HY000):未知系统变量';GTID#u清除';
我从远程服务器上从workbench备份了数据库。因此,当我在本地环境中导入时,出现错误: 错误1193(HY000):未知系统变量“GTID_” 我正在使用xampp服务器Mysql 错误1193(HY000):未知系统变量';GTID#u清除';,mysql,Mysql,我从远程服务器上从workbench备份了数据库。因此,当我在本地环境中导入时,出现错误: 错误1193(HY000):未知系统变量“GTID_” 我正在使用xampp服务器 花费大量时间后,通过控制台或phpmyadmin导入数据库时出现相同错误 我在文本编辑器中打开数据库文件,搜索这个变量“GLOBAL.GTID_”。我刚刚设置了它的值“” 像 然后我通过windows控制台上传数据库,现在它就像一个符咒:)通过附加--set gtid pulleted=OFF选项重新创建转储文件可以解决问
花费大量时间后,通过控制台或phpmyadmin导入数据库时出现相同错误 我在文本编辑器中打开数据库文件,搜索这个变量“GLOBAL.GTID_”。我刚刚设置了它的值“” 像
然后我通过windows控制台上传数据库,现在它就像一个符咒:)通过附加
--set gtid pulleted=OFF
选项重新创建转储文件可以解决问题
这是因为在MySQL 5.6中添加了GTIDs
,早期版本无法识别
您的命令可能如下所示:
mysqldump -u username -ppassword -h mydbhost --set-gtid-purged=OFF db_name > dump_file.sql
关于我的故事,我得到了来自MySQL 5.7的转储文件同样的问题。我正在尝试将数据导入到一个新的CentOS 7安装中,默认的MariaDB安装是5.5(我猜)
我想到的第一个想法是升级到最新版本。幸运的是,他们的网站提供了帮助设置Linux变量的包存储库。此外,多亏了他们,digitalocean的升级过程非常简短明了
虽然升级到最新版本10.2并不能解决这个问题。因此,我仍然必须使用上面提到的选项,但它允许我升级到最新的MariaDB
升级后的另一个问题是,
my-innodb-heavy-4G.cnf
中的innodb\u附加内存池\u大小
config在最新的MariaDB上不再受支持,服务器无法启动。从MySQL文档中,它已从MySQL 5.7中删除。我可以在评论之后启动服务器。我不是数据库专家,我不会花更多的时间来检查MariaDB版本映射到MySQL数据库的准确程度,以及它们之间的区别。您也可以从MySQL工作台设置set gtid pulleted=OFF,在运行转储之前,单击advance options并在set gtid pulleted下将AUTO更改为OFF。运行转储,恢复到其他MySQL版本应该没有问题。请按照以下步骤解决此问题
这对我很有用,我希望这也能对你有用。如果这是一个大型数据库,加载和编辑文件可能会很棘手。我是这样做的:
less-N dump.sql
找到了行号。在24号线sed-I'24s/SET/\\\\35; SET/'dump.sql
注释了那一行mysql
命令起作用需要清除GTID_的所有管路
sed -i '/@@GLOBAL.GTID_PURGED=/d' your_file.sql
最终的文件将毫无问题地加载我刚刚注释掉了这一行,效果很好。我刚刚删除了这一行,效果很好:-)MariaDB似乎对这个选项一点也不感兴趣,因为即使是10.4也会抱怨。这个标志帮助很大。让我回显一下@tadman——我从MySQL导出到MariaDB时遇到了同样的问题(都是在各自的最新日期)。你的回答巧妙地解决了我的问题!此命令为我提供了
mysqldump:unknown变量'set gtid pulleted=OFF'
将其合并到我的数据库还原脚本中非常方便pv db dumps/mysql-backup.sql.gz | zcat | sed'/@@GLOBAL.gtid|u pulleted=/d'| mysql database_name
附加变量使用-f,示例:mysql-f-u用户名-p数据库名称
sed -i '/@@GLOBAL.GTID_PURGED=/d' your_file.sql