使用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)