TL;DR
慌てず騒がず、エディタでダンプを開いて次の行を消してください
WARNING: --master-data is deprecated and will be removed in a future version. Use --source-data instead.
- または
WARNING: --dump-slave is deprecated and will be removed in a future version. Use --dump-replica instead.
Affects Meすると早く修正されると思います
Command-line options for mysqldump that contain the terms “master”, “slave”, or “mts”.
MySQL :: MySQL 8.0 Release Notes :: Changes in MySQL 8.0.26 (2021-07-20, General Availability)
この変更によって、 --master-data
, --dump-slave
を使っていると警告が出るように(それぞれ --source-data
, --dump-replica
を使ってね、と)なったんですが、
こともあろうにこれを標準出力(= ダンプを吐き出すのと同じチャンネル)に出す ので、ここの部分がシンタックスエラーになるという悲しい結末。
bash-4.4# mysqldump --master-data=2 --all-databases | head -10 | cat -n
mysqldump: Got errno 32 on write
1 WARNING: --master-data is deprecated and will be removed in a future version. Use --source-data instead. <---- 標準入力だからパイプを通ってcat -nまで到達している、しかもコメント扱い(先頭 '-- ' )にもなってない
2 -- MySQL dump 10.13 Distrib 8.0.26, for Linux (x86_64)
3 --
4 -- Host: localhost Database:
5 -- ------------------------------------------------------
6 -- Server version 8.0.26
7
8 /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
9 /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
10 /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
bash-4.4# mysqldump --master-data=2 --all-databases > dump.sql
bash-4.4# mysql < dump.sql ### というわけでさっきのWARNINGがシンタックスエラー
ERROR 1064 (42000) at line 1: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WARNING: --master-data is deprecated and will be removed in a future version. Us' at line 1
このオプションを使っている記憶がある方はご留意を。
これがコメントアウトなり標準エラー出力なりに書かれれば問題ないだけなので、もし直面したらこの1行だけを消してあげれば大丈夫です。
0 件のコメント :
コメントを投稿