发布网友 发布时间:2022-05-07 15:31
共2个回答
懂视网 时间:2022-05-07 19:52
mysqldump bitsCN.commysqldump: Couldn’t execute ‘SELECT @@GTID_MODE...
在使用MySQL 5.6的mysqldump备份5.6之前版本的MySQL时会遇到异常
1
mysqldump: Couldn't execute 'SELECT @@GTID_MODE': Unknown system variable 'GTID_MODE' (1193)
造成此错误的原因是因为5.6引入了Global Transaction Identifiers (GTIDs) 。GTIDs可以让主从结构复制的跟踪和比较变得简单。mysqldump会试图查询这个系统变量,但这个变量在5.6之前的版本中不存在,所以产生错误。的方法很简单。在mysqldump后加上–set-gtid-purged=OFF命令。
1
mysqldump -h dbHost -u dbuser dbName --set-gtid-purged=OFF
bitsCN.com
热心网友 时间:2022-05-07 17:00
2# 昨天晚上又发生了类似的情况。。。看了日志,显示如下:mysqlmp: Couldn't execute 'FLUSH TABLES WITH READ LOCK': MySQL server has gone away (2006)现在好像明白了,因为mysql server被中断了,所以定时备份的mysqlmp无法执行FLUSH TABLES WITH READ LOCK这条语句,所以进程一激发就死在那里了,占用了大量的资源。总结: mysqlmp程序竟然会激发FLUSH TABLES WITH READ LOCK?! 但貌似只是锁很短的时间,然后自行解锁。(参考很多资料,说mysqlmp的在线备份不会锁表的阿!)如果在这个时间里,mysql server出问题了,那么flush tables with read lock进程就僵死在那里了,然后就出现了应用界面无法访问数据库的情况。不过还是很疑惑哦,以后继续关注这个问题吧。。。hehe