MySQLを5.7にアップグレードすると、WordPressはデータをインポートするときにエラー1067を報告します

MySQLを5.7にアップグレードすると、WordPressはデータをインポートするときにエラー1067を報告します

最近MySQLを5.7にアップグレードしましたが、WordPressでデータのインポート時にエラーが発生していました。

'comment_date' のデフォルト値が無効です

その理由は、このような発言が

`wp_comments` が存在する場合はテーブルを削除します。
テーブル `wp_comments` を作成します (
  `comment_ID` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT,
  `comment_post_ID` bigint(20) UNSIGNED NOT NULL デフォルト 0,
  `comment_author` tinytext 文字セット utf8mb4 COLLATE utf8mb4_unicode_520_ci NOT NULL,
  `comment_author_email` varchar(100) 文字セット utf8mb4 照合 utf8mb4_unicode_520_ci NOT NULL デフォルト '',
  `comment_author_url` varchar(200) 文字セット utf8mb4 照合 utf8mb4_unicode_520_ci NOT NULL デフォルト '',
  `comment_author_IP` varchar(100) 文字セット utf8mb4 照合 utf8mb4_unicode_520_ci NOT NULL デフォルト '',
  `comment_date` datetime(0) NOT NULL デフォルト '0000-00-00 00:00:00',
  `comment_date_gmt` datetime(0) NOT NULL デフォルト '0000-00-00 00:00:00',
  `comment_content` テキスト文字セット utf8mb4 COLLATE utf8mb4_unicode_520_ci NOT NULL、
  `comment_karma` int(11) NOT NULL デフォルト 0,
  `comment_approved` varchar(20) 文字セット utf8mb4 COLLATE utf8mb4_unicode_520_ci NOT NULL デフォルト '1',
  `comment_agent` varchar(255) 文字セット utf8mb4 照合 utf8mb4_unicode_520_ci NOT NULL デフォルト '',
  `comment_type` varchar(20) 文字セット utf8mb4 COLLATE utf8mb4_unicode_520_ci NOT NULL DEFAULT '',
  `comment_parent` bigint(20) UNSIGNED NOT NULL デフォルト 0,
  `user_id` bigint(20) UNSIGNED NOT NULL デフォルト 0,
  BTREEを使用した主キー(`comment_ID`)
  インデックス `comment_post_ID`(`comment_post_ID`) BTREE 使用、
  インデックス `comment_approved_date_gmt`(`comment_approved`, `comment_date_gmt`) BTREE を使用、
  インデックス `comment_date_gmt`(`comment_date_gmt`) BTREE を使用、
  インデックス `comment_parent`(`comment_parent`) BTREE 使用、
  インデックス `comment_author_email`(`comment_author_email`(10)) BTREE の使用
) ENGINE = InnoDB AUTO_INCREMENT = 35 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_520_ci ROW_FORMAT = Dynamic;

このエラーは主に、MySQL を 5.7 にアップグレードしたときのデフォルト値の非互換性によって発生します。フィールド名を確認してください。私のフィールドは時間フィールドで、そのタイプは datetime です。型のデフォルト値が制限されている可能性があるので、sql_mode を確認してください。案の定: NO_ZERO_IN_DATE、NO_ZERO_DATE、これら2つのパラメータは時間を制限し、0にはできません

sql_modeを確認する

mysql> 'sql_mode' のような変数を表示します。
+---------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| 変数名 | 値 |
+---------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| sql_mode | ONLY_FULL_GROUP_BY、STRICT_TRANS_TABLES、NO_ZERO_IN_DATE、NO_ZERO_DATE、ERROR_FOR_DIVISION_BY_ZERO、NO_AUTO_CREATE_USER、NO_ENGINE_SUBSTITUTION |
+---------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
セット内の 1 行 (0.00 秒)

マイSQL>

一時的な変更:

mysql> セッションの設定
 -> sql_mode = 'ONLY_FULL_GROUP_BY、STRICT_TRANS_TABLES、ERROR_FOR_DIVISION_BY_ZERO、NO_AUTO_CREATE_USER、NO_ENGINE_SUBSTITUTION';
クエリは正常、影響を受けた行は 0 行、警告は 1 件 (0.00 秒)

マイSQL>

永久的な変更:

my.cnfファイルを直接変更することができます

例えば: vim /etc/my.cnf

Windows環境でmysql.ini設定ファイルを変更して解決してください〜

[mysqld]の下に次の行を追加します。

sql_mode=ONLY_FULL_GROUP_BY、STRICT_TRANS_TABLES、ERROR_FOR_DIVISION_BY_ZERO、NO_AUTO_CREATE_USER、NO_ENGINE_SUBSTITUTION

さて、問題は解決しました。今度は、テーブルをインポートまたは作成するときに確認してみましょう。

上記は、MySQL を 5.7 にアップグレードしたときに発生する WordPress データ インポート エラー 1067 の問題を解決する詳細な内容です。MySQL データベース インポート エラー 1067 の詳細については、123WORDPRESS.COM の他の関連記事に注目してください。

以下もご興味があるかもしれません:
  • Navicat を使用して MySQL データベースをエクスポートおよびインポートする方法
  • MySQL コマンドラインのエクスポートとデータベースインスタンスのインポートの詳細な説明
  • Wampserver で MySQL データベースをインポートする手順
  • MySQL コマンドラインによるデータベースのエクスポートとインポート
  • php.ini を変更して、Mysql インポート データベース ファイルの変更方法の最大制限を実装します。
  • Windows が MySQL サービスを開始できず、エラー 1067 を報告する場合の解決策
  • mysql サービスが起動できず、エラー 1067 が報告される解決策 (mysql 起動エラー 1067)

<<:  INS と DEL を使用してドキュメントの変更をマークする方法の詳細な説明

>>:  Linux での Nginx アンチホットリンクと最適化の実装コード

推薦する

Vueリストデータを削除した後、ページを自動的に更新する方法と更新方法の詳細な説明

問題の説明:フロントエンドがデータの一部を削除したり、新しいデータを追加したりすると、バックエンドの...

Linuxでディレクトリを効率的に切り替える方法

Linux でディレクトリを切り替えるとなると、誰もが間違いなくcdコマンドを思い浮かべるでしょう。...

CentOS7でMySQL 5.7をアンインストールする方法

MySQLに何がインストールされているか確認する rpm -qa | grep -i mysql n...

int(3)とint(10)の値の範囲はmysqlで同じですか?

目次質問:答え:現実:知識ポイント結論は:要約する質問: MySQLフィールド、unsigned i...

HTML に画像が存在しない場合にデフォルトの画像を表示する方法の例

画像リンク <img src="" /> jsを使用してURLが有効...

計算機機能を実装するミニプログラム

この記事の例では、計算機機能を実装するためのミニプログラムの具体的なコードを参考までに共有しています...

WeChatアプレット+EChartsで動的更新プロセス記録を実現

序文最近、小さなプログラムでリアルタイムにチャートを更新するという要件に遭遇しました。最初は wx-...

自動開始および停止コマンドを適用するには、Docker サービスを再起動します (推奨)

Docker サービス アプリケーションを再起動するコマンドを見てみましょう。具体的な内容は次のと...

Dockerコンテナを介してランプアーキテクチャを構築するプロセス

目次1. Centosイメージを取得する2. nginxイメージをビルドする3. MySQLイメージ...

vue.jsは画像のURLに従って画像をダウンロードします

最近、フロントエンドの vue.js ドッキング機能モジュールに取り組んでいたとき、画像をダウンロー...

MySQL インデックス プッシュダウンの詳細

目次1. 左端接頭辞原則2. 表に戻る3. インデックスプッシュダウン序文:インデックス プッシュダ...

ES9の新機能の詳細な説明: 非同期反復

目次非同期トラバーサル非同期反復可能トラバーサル非同期反復生成非同期メソッドと非同期ジェネレーター非...

MySQLの通常インデックスとユニークインデックスの違いの詳しい説明

目次1 概念上の区別2 事例紹介3 クエリパフォーマンス4 アップデートのパフォーマンス4.1 記憶...

分散ロックの原理と3つの実装方法の詳細な説明

現在、ほぼすべての大規模な Web サイトとアプリケーションは分散方式で展開されています。分散シナリ...

ドメイン名を nginx サービスにバインドする方法

nginx.conf で複数のサーバーを設定します。 http リクエストを処理する際、nginx ...