MySQLでダンプをインポートする際に「cannot creat a JSON value from a string with CHARACTER SET 'binary'」と表示されてインポートができない

TL;DR

文字コードをバイナリモードで出力しちゃった説

ヘッダー部分?を binary から utf8mb4 などに変更してインポートしなおす

- /*!40101 SET NAMES binary */;
+ /*!40101 SET NAMES utf8mb4 */;

データに16進表記のバイナリデータが含まれる説

JSON型のダンプなどでテキストデータでなく、16進表記のバイナリが入っちゃうことがあるらしい

-- 中身は適当
INSERT INTO hoge (`id`, `json_column`)
VALUES
    (1, X'573DA6CD8B49C5DD1E02AEA76876754F'),
    (2, X'134715474B24EC215B49BACE9B82561D');

CONVERT関数で文字列に直せばよい

INSERT INTO hoge (`id`, `json_column`)
VALUES
    (1, CONVERT(X'573DA6CD8B49C5DD1E02AEA76876754F' using utf8mb4)),
    (2, CONVERT(X'134715474B24EC215B49BACE9B82561D' using utf8mb4));