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 アンチホットリンクと最適化の実装コード

推薦する

JS で if 判定をスムーズに行う方法

目次序文コードの実装アイデア 1アイデア2要約する参照ドキュメント序文プロジェクト内の小さな要件ポイ...

CentOSはexpectを使用してスクリプトやコマンドをバッチでリモート実行します

サーバーへのファイルのアップロード、ソフトウェアのインストール、コマンドやスクリプトの実行、サービス...

Zabbix による VMware Exsi ホストの監視のグラフィカルな手順

1. 仮想化 vcenter に入り、ブラウザでログインし (クライアントは設定する場所を見つけませ...

CSS3でよく使われるスタイルの詳しい解説[基本的なテキストとフォントのスタイル]

概要: Web ページをより美しく見せるために、ここでは CSS3 でよく使用されるスタイルをいくつ...

MySQL 5.7.18 Green Edition のダウンロードとインストールのチュートリアル

この記事では、MySQL 5.7.18のグリーンバージョンをダウンロードしてインストールする詳細な手...

offsetWidth、clientWidth、scrollWidth、scrollTop、scrollLeft などのプロパティの図。

注 1: 上の画像の背景全体がこの Web ページのフルサイズであり、中央の小さなボックスがブラウザ...

Linux スワップ パーティション (詳細説明)

目次リナックス1. SWAPとは2. swappiness は何を調節しますか? 3. スワップ操作...

Vue ディレクティブ v-html と v-text

目次1. v-text テキストレンダリング命令2. v-html 1. v-text テキストレン...

React Native APPのアップデートに関する簡単な説明

目次アプリ更新プロセス大まかなフローチャートアプリ情報の更新1. まず取得する必要があるファイルアド...

Mysql は、デッドロック問題を解決するために kill コマンドを使用します (実行中の特定の SQL ステートメントを強制終了します)。

MySQL を使用して特定のステートメントを実行すると、データ量が多いためにデッドロックが発生し、...

証明書を使用してリモート Docker サーバーに接続する方法

目次1. スクリプトを使用してDockerのTLSを暗号化する2. Dockerの設定を変更してリモ...

ウェブデザインでよくある間違いのまとめ

Web ページを設計する過程で、デザイナーが間違いを犯すのは必然です。特に新人は、新しいアイデアを実...

Dockerでリモートアクセスを有効にする方法

DockerデーモンソケットDocker デーモンは、 unix 、 tcp 、 fdの 3 種類の...

IE6/IE7/IE8/IE9/FF 向け CSS ハック (概要)

IE8.0の正式版をインストールしたので、基本的なCSS HACKをいくつかまとめてみました。We...

nginx を最適化する 6 つの方法

1. Nginxの同時実行性を最適化する [root@proxy ~]# ab -n 2000 -c...