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