MySql5.7.18 の文字セット構成の詳細なグラフィック説明

MySql5.7.18 の文字セット構成の詳細なグラフィック説明

背景:

かなり前(2017.6.5、記事にはタイムリーさがあり、特に使用されているツールは頻繁に更新されています。このことを覚えておいてください。価値がなくなった場合は、すべてツールの公式ドキュメントの対象になります)、MySQLのバージョンをダウンロードして試してみましたが、最新のものはたまたまMySQL5.7.18で、ローカルマシンはwin10、64ビットシステムでした。手順は大まかに次のように分けられます。

1. ダウンロード: 公式ウェブサイト (https://www.mysql.com) を参照して、対応するシステム バージョンをダウンロードします。

2. 初期化: コマンドライン (cmd) を使用して、解凍したディレクトリの bin フォルダに入ります (ダウンロード後に解凍するべきでしょうか? 久々に忘れていました。また、ダウンロード後にデータ フォルダと ini ファイルはありません)。初期化には 2 つの方法があります。 1 つは安全でない初期化と呼ばれ、次のように入力します: mysqld --initialize、初期化により root ユーザーにパスワードがなくなります (パスワードがないので安全ではありません)。もう 1 つはいわゆる安全な初期化で、次のように入力します: mysqld --initialize-insecure、パスワード付きの root ユーザーを生成します。パスワードは、生成後に表示されるログ ファイル、初期化後に生成されたデータ ファイルで確認できます。

3. サービスを開始します: net start mysql と入力します (サービスを停止するには、net stop mysql と入力します)。net が内部コマンドではないというメッセージが表示される場合は、net がインストールされていないか、環境変数が設定されていない可能性があります。確認してください。

4. 基本的にはこれで完了です。その他の情報については、完全な MySQL コマンドを参照してください。

次に、文字セットの設定の問題についてお話ししましょう。

原因:

ちょうど昨日、MySQL のコマンドラインでデータを表示するには抽象的すぎると感じたので、見た目がはるかに優れている Navicat for MySQL (ビジュアル インターフェイス) をダウンロードしました。図に示すように:

その後、テーブルにデータを挿入すると、「文字列値が正しくありません」というエラー メッセージが報告されます。Baidu で検索したところ、文字セットを utf8mb4 に変更する必要があるとのことでした。これは、他のエンコーディングでは一部の特殊文字を保存できないためです。詳細については、Baidu で検索してください。

以下を実行します:

文字セットを変更するには、まず mysql と入力し、mysql -uroot (初期化でパスワードなしのものが選択されたため、ユーザー ログイン) を実行し、図に示すように 'char%' (文字エンコードを表示) などの変数を表示します。

コマンドラインにset character_set_server=utf8mb4などと入力して文字セットを変更できますが、これはそのときのみ有効で、サービスを再起動するとデフォルト値が復元されます。次に、他の方法を試してください。インターネット上にはさまざまな意見があり、それらは曖昧で真実と嘘を区別するのが困難です。そこで、公式サイトに行って調べてみました (公式サイトも非常に水っぽく、参照できる例がなく、目の見えない人に白は白だと伝えるのと同じです。そして、その目の見えない人は私です)。ドキュメントの中に変数を表示するコマンドを見つけました: mysqld --verbose --help、表示する変数はオプション ファイルで設定でき、サービスが起動されるたびに、オプション ファイルに従って自動的に設定され、次のような文が表示されます:

デフォルトオプションは、指定された順序で次のファイルから読み込まれます。

オプション ファイルが存在する可能性がある場所、つまり、新しく作成されたオプション ファイルは、表示される名前に従って名前が付けられ、配置されるべき場所に配置されるべきだと思います。図に示すように:

新しい my.ini ファイルを作成し、それを D:\mysql の下に配置します。これは、上記に示すように、表示される場所の 1 つです。 my.ini の内容は次のとおりです。

基本的にはこの形式で設定されます。ここでは、原因となっている character_set_server のみを取り上げます。もちろん、関連する文字セット設定は統一されている必要があります。そうでないと、文字化けする可能性があります。各文字セットの意味を確認するには、Baidu にアクセスしてください。

次に、mysql サービスをシャットダウンし、構成を開始します (mysqld --install と入力します)。

1. 管理者以外のユーザーが cmd を開いて mysqld --install と入力すると、コマンドが拒否されたことを示す次のメッセージが表示されます。

2. 代わりに管理者で開くと、サービスがすでに存在していることが示されます (まず削除してください)。

3. MySQL サービスをクエリします: sc query mysql (コントロール パネル - 管理ツール - サービスでも見つけられます。または、サービスを直接検索することもできます)

4. 削除します: (コントロール パネル - 管理ツール - サービスでアンインストールすることも、サービスを直接検索することもできます)

5. もちろん、最初に MySQL を削除した場合でも、再インストールする前に MySQL を停止する必要があります。そうしないと、次のエラーが発生します。

6. 以前にアンインストールしたため、今回はコントロール パネルで停止しました。停止後に消え (コマンド ライン: net stop mysql)、再実行して、mysql サービスを正常に開始しました。

7. 正常に再起動し、ログインして変更が成功したかどうかを確認します。

8. ここで停止できます。私はさらに数回試しました。my.ini を変更し、mysql サービスをシャットダウンして再起動する限り、毎回 my.ini に従って変更されます。つまり、将来満足できない場合は、最初からやり直す必要はありません。my.ini を変更してサービスを再起動するだけです。図に示すように:

もう一度変更します:

上記は、編集者が紹介したMySql5.7.18の文字セット設定の詳細な図解です。皆様のお役に立てれば幸いです。ご質問がございましたら、メッセージを残してください。編集者がすぐに返信いたします。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。

以下もご興味があるかもしれません:
  • MySQL skip-character-set-client-handshake によって発生する文字セットの問題
  • MySQL 文字セット操作コマンドの概要
  • MySQL でデータベース エンコーディング (データベース文字セット) とテーブルの文字エンコーディングを変更する方法
  • MySQLのデフォルト文字セットを変更する2つの方法の詳細な分析
  • MySQL 5.5 に基づく文字セット設定の詳細な説明
  • MySQL インストール後に gbk 文字セットを追加する方法
  • MySQLの文字セットについては、character_set_client=binaryと設定されています。GBKの場合、テーブル記述が文字化けしてしまいます。
  • 詳細な MySQL 文字セット設定のグラフィックバージョン
  • MySQL の中国語文字化けを解決するための MySQL 文字セット GBK、GB2312、UTF8 の違い
  • MySQL の文字セットと照合ルール (MySQL 照合セット)

<<:  Linux カーネル デバイス ドライバー 高度な文字デバイス ドライバーのメモ

>>:  Vueでブラウザ共有機能を呼び出す方法

推薦する

派手なカルーセル効果を実現するJavaScript

この記事では、JavaScriptで派手なカルーセル効果を実装する2つの方法を紹介します。具体的な内...

React forwardRefの使い方と注意点

これまで react.forwardRef は react の高階コンポーネントには適用できませんで...

Vueカスケードドロップダウンボックスの設計と実装

目次1. データベース設計2. フロントエンドページ3. 完全なデモフロントエンド開発では、カスケー...

Vue スクロールダウンしてさらにデータを読み込む スクロールケースの詳細な説明

vue-無限スクロールインストール npm インストール vue-infinite-scroll -...

MySQL 上級学習インデックスの長所と短所、使用ルール

1. インデックスの利点と欠点利点: 高速検索、高速グループ化および並べ替えデメリット: ストレージ...

Zen Coding 簡単で素早いHTMLの書き方

禅コーディングテキストエディタプラグインです。 Zen Coding を使用するテキスト エディター...

MySQL DEFINER の使用方法の詳細な説明

目次序文: 1.DEFINERの簡単な紹介2. いくつかの注意点要約:序文: MySQL データベー...

キャンバス操作プラグイン fabric.js の使い方を詳しく解説

Fabric.js は非常に便利なキャンバス操作プラグインです。ここでは、日常のプロジェクトで使用さ...

印刷広告を成功させるための「3I」基準

国内の多くの広告主にとって、印刷広告の制作と評価は、しばしばかなり主観的です。自分の感情や美的感覚に...

MySQL NULLがピットを引き起こした

比較演算子でNULLを使用する mysql> 1>NULLを選択します。 +------...

解析を実装するためにPostgreSQLデータベースを書き込むSQLスクリプト関数

この記事は主に、PostgreSQL データベースを記述して解析を実装する SQL スクリプト関数を...

WeChatアプレットは画像コントロールを選択します

この記事の例では、WeChatアプレットで画像コントロールを選択するための具体的なコードを参考までに...

MySQL 子テーブルで外部キー制約チェックを無効にする方法

準備する:教師テーブルと生徒テーブルを定義し、生徒テーブルで教師テーブルIDを参照します。テーブルt...

CSS フォーム検証機能の実装コード

レンダリング原理フォーム要素には、正規表現(携帯電話番号、メールアドレス、IDカードなど)をカスタマ...

カルーセル効果を実現するための純粋なjs

この記事では、カルーセルマップの効果を実現するためのjsの具体的なコードを参考までに共有します。具体...