ロリポップサーバーのデータベースを mysqldump でバックアップをとっています。
バックアップをとるshファイルを修正する必要があったので,久しぶりにSSHでアクセスし,バックアップ用の shファイルを走らせたところ次のエラー。
mysqldump: Couldn't execute 'SELECT COLUMN_NAME, JSON_EXTRACT(HISTOGRAM, '$."number-of-buckets-specified"')
(後略
なんだこりゃ。
調べたところ,mysql5系で書いたmysqldumpのコマンドを8系で走らせたら出るエラーらしい。
mysqldumpコマンドで “Unknown table ‘COLUMN_STATISTICS’ in information_schema (1109)” と怒られる原因と対策
画像は2021年11月15日時点です。
今後,ロリポップも値上がりするので,MySQL 8.x 系を導入するのかもしれません。
ちなみに,SSHでログインしてコマンドをたたくと,8.x系だと教えてくれます。
ターミナル上で動いている mysql は 8系を使っているが,web上で動いている mysql は 5系ってことなのかな。
一方,これまでのバックアップが走っていなかったというと,そうでもなく,日付を見る限り,ちゃんとバックアップがとれています。
cron が呼び出す mysql は5系なのかもしれない。
この問題はmysqldumpコマンドに
mysqldumpコマンドで “Unknown table ‘COLUMN_STATISTICS’ in information_schema (1109)” と怒られる原因と対策--skip-column-statistics
というオプションを設定して、ANALYZE TABLE文の自動生成をやめさせることで回避できる。
上のブログに従って,オプションをつけたところ,ターミナル上でもエラーは出なくなりました。
*その結果が,上の写真の 11月15日の22:07のファイルです。
しかし,cron 上でエラーが起きたりするといやですね。
何かあったら追記します。
どうやら,うまくバックアップ用の cron は走っている様子です。
投稿記事のカテゴリやタグと同じ記事をランダム表示します。