使用mysql5.7版本的mysqldump备份mysql8.0版本的数据库报错解决办法

使用mysql5.7版本的mysqldump命令执行备份mysql8.0版本的数据库时会报错:

mysqldump: Couldn't execute 'SET SQL_QUOTE_SHOW_CREATE=1/*!40102 ,SQL_MODE=concat(@@sql_mode, _utf8 ',NO_KEY_OPTIONS,NO_TABLE_OPTIONS,NO_FIELD_OPTIONS') */': Variable 'sql_mode' can't be set to the value of 'NO_KEY_OPTIONS' (1231)

解决办法如下:
第一种办法是升级MySQL5.7版本数据库到MySQL8.0,然后再使用同样的命令备份
第二种办法是不使用MySQL5.7版本数据库自带的mysqldump命令,而是找一个mysql8.0版本的数据库的mysqldump命令文件上传到该主机指定路径,然后用这个路径下的mysqldump进行备份操作

推荐采用第二种办法

查看当前mysqldump版本命令

# mysqldump --version
mysqldump  Ver 10.13 Distrib 5.7.35, for Linux (x86_64)

# mysqldump --version
mysqldump  Ver 8.0.25 for Linux on x86_64 (MySQL Community Server - GPL)
原文地址:https://www.cnblogs.com/sanduzxcvbnm/p/15714231.html