ホームページ  >  記事  >  データベース  >  mysqlの文字エンコーディングを変更する

mysqlの文字エンコーディングを変更する

WBOY
WBOYオリジナル
2023-05-14 12:00:37811ブラウズ

MySQL は、UTF-8、GBK などの複数の文字エンコーディングをサポートする、広く使用されているリレーショナル データベース管理システムです。実際のアプリケーションでは、実際のニーズに合わせて MySQL の文字エンコーディングを変更する必要があることがよくありますが、この記事では、MySQL の文字エンコーディングを変更する方法を紹介します。

  1. 現在の文字エンコーディングを確認する

MySQL の文字エンコーディングを変更する前に、現在の文字エンコーディングを確認する必要があります。次のコマンドを使用して現在の文字エンコーディングを照会できます。

show variables like 'character_set_database';

出力結果が UTF-8 の場合、現在の文字エンコーディングは UTF-8 です。出力結果が GBK の場合、現在の文字コードは GBK です。

  1. MySQL サービスの停止

MySQL の文字エンコーディングを変更する前に、まず MySQL サービスを停止する必要があります。次のコマンドを使用して MySQL サービスを停止できます。

sudo service mysql stop
  1. MySQL 構成ファイルを変更する

MySQL 構成ファイルは /etc/mysql/mysql.conf にあります。 .d/mysqld.cnf。エディタでファイルを開き、次の 2 行を見つけます:

collation-server = utf8_general_ci 
character-set-server = utf8

これらを次のように変更します:

collation-server = utf8mb4_unicode_ci
character-set-server = utf8mb4

ここで変更されるのは、エンコードが UTF-8 であることです。状況によっては必要な場合があることに注意してください。改造やコーディングを行っております。

  1. MySQL サービスを再起動します

MySQL サービスを再起動します。これは次のコマンドで実行できます:

sudo service mysql start
  1. 作成されたデータベースを変更します。およびテーブルの文字セット

MySQL 文字セットが変更された後、以前に作成されたデータベースとテーブルの文字セットは自動的には変更されません。作成したデータベースとテーブルの文字セットを手動で変更する必要があります。

次のコマンドを使用してデータベースの文字セットを変更します:

ALTER DATABASE dbname CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

このうち、dbname は変更するデータベース名を表し、utf8mb4 は文字セットを表し、utf8mb4_unicode_ci は照合規則を表します。 。

次のコマンドを使用してテーブルの文字セットを変更します:

ALTER TABLE tablename CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

このうち、tablename は変更するテーブル名を表し、utf8mb4 は文字セットを表し、utf8mb4_unicode_ci は照合規則を表します。 。

データの損失を避けるために、上記のコマンドを実行する前に、関連するデータをバックアップする必要があることに注意してください。

  1. 接続中に文字セットを変更する

MySQL に接続する場合、接続時に使用する文字セットを指定する必要があります。次のコマンドを使用して接続するときに文字セットを指定できます。

mysql -u username -p --default-character-set=utf8mb4 dbname

ここで、username はユーザー名を表し、dbname は接続するデータベースの名前を表し、utf8mb4 は文字セットを表します。

  1. 文字セットの確認

最後に、次のコマンドを使用して、文字セットの変更が成功したかどうかを確認できます。

show variables like 'character_set_database';

出力結果が次の場合変更された文字と一致する コードが一致する場合、変更は成功です。

まとめ

MySQL の文字エンコーディングを変更する際には注意すべき点が多く、データの損失を避けるために関連データのバックアップに注意する必要があります。運用時、特に作成したデータベースやテーブルを変更する場合は注意してください。修正を行う場合は、正式環境に影響がないことを確認するために、まずテスト環境で試してみることをお勧めします。

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

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