ホームページ >データベース >mysql チュートリアル >mysqlデータベースエンコーディングを変更する

mysqlデータベースエンコーディングを変更する

王林
王林オリジナル
2023-05-18 17:50:391794ブラウズ

MySQL は、さまざまな Web サイトやアプリケーションでデータを保存および管理するために使用される一般的なリレーショナル データベース管理システムです。 MySQL は、UTF-8、GB2312、ISO-8859-1 など、複数の文字セットとエンコード方式をサポートしています。 MySQL を使用する場合、テキスト データを正しく保存および取得できるようにするために、データベース エンコーディングの変更が必要になる場合があります。この記事では、MySQL データベースのエンコーディングを変更する方法を紹介します。

1. データベースのエンコードを問い合わせる

MySQL データベースのエンコードの問題に対処する前に、まず現在のデータベースのエンコード方式を確認する必要があります。次の SQL ステートメントを使用して、現在のデータベースのエンコーディングをクエリできます。

SHOW VARIABLES LIKE 'character_set_database';

現在のデータベースのエンコーディングが UTF-8 の場合、次の結果が返されます。

+------------------------+--------+
| Variable_name          | Value  |
+------------------------+--------+
| character_set_database | utf8   |
+------------------------+--------+

If the現在のデータベースのエンコーディングが GBK の場合、次の結果が返されます:

+------------------------+--------+
| Variable_name          | Value  |
+------------------------+--------+
| character_set_database | gbk    |
+------------------------+--------+

2. データベースのエンコーディングを変更します

データベースのクエリ時に予期したエンコーディングではないことが判明した場合エンコーディングを変更する必要があります。方法は次のとおりです:

1. データベースをバックアップします

エンコーディングを変更する前に必ずデータベースをバックアップしてください。エンコード変更プロセス中にデータベースが影響を受け、データの損失や破損が発生する可能性があるためです。

mysqldump -u username -p databasename > backup.sql

このコマンドは、データベースの内容をbackup.sqlファイルにエクスポートします。usernameはデータベースのユーザー名、databasenameはデータベース名です。

2. データベース エンコーディングの変更

データベースをバックアップした後、データベース エンコーディングの変更を開始できます。具体的な手順は次のとおりです:

(1) 編集MySQL 構成ファイル

sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

(2) 構成ファイルを変更する

##MySQL 構成ファイルには、次の構成があります。

[client]
default-character-set=utf8

[mysql]
default-character-set=utf8

[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci

この構成ファイルでは、

character-set を変更する必要があります -servercollat​​ion-server の値は、UTF-8 などの新しいエンコード方式に変更されます。変更された構成は次のとおりです。

[client]
default-character-set=utf8mb4

[mysql]
default-character-set=utf8mb4

[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci

(3) MySQL サービスを再起動します

最後に、変更を有効にするには、次のコマンドを使用して MySQL サービスを再起動する必要があります。
sudo service mysql restart

3. データベース エンコーディングをテストする

データベース エンコーディングを変更した後、正しく変更されたことをテストする必要があります。次のクエリを通じて、現在のデータベースのエンコードを確認できます。

SHOW VARIABLES LIKE 'character_set_database';

返された結果が、現在のエンコードが前の設定と同じであることを示している場合は、変更が成功したことを意味します。

この記事では、MySQL データベースのエンコーディングを変更する方法を紹介します。データ損失やデータ破損の可能性を避けるために、必ずデータベースをバックアップし、変更プロセスのすべてのステップを注意深く確認してください。この記事の内容を通じて、読者は MySQL データベースのコーディング方法を簡単に変更してテストできると思います。

以上がmysqlデータベースエンコーディングを変更するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:mysqlデータ変換次の記事:mysqlデータ変換