MySQL(MariaDB)でdefault-character-set設定がLatin1のままでUTF8のデータベースにLatin1でデータを入れてしまっている手遅れの場合の移行

スポンサーリンク
Linux
スポンサーリンク
スポンサーリンク

バックアップ(innodbのテーブルのみの時)

mysqldump -uroot -p --quote-names --skip-lock-tables --single-transaction --flush-logs --default-character-set=binary --master-data=2 database_name > dump.sql

binaryで出力します。

mysql -uroot -p database_name --default-character-set=binary < dump.sql

binaryでリストアします。

これで正常にリストアできていますが、centos6→centos7に移行する場合、character_set_resultsのデフォルトがutf8になっているため、コマンドラインでデータを見る場合に文字化けします(フロントでの表示には問題ありません)。
latin1に変更すると文字化けが治ります。

centos6のデフォルトは
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | latin1                     |
| character_set_connection | latin1                     |
| character_set_database   | latin1                     |
| character_set_filesystem | binary                     |
| character_set_results    | latin1                     |
| character_set_server     | latin1                     |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
centos7のデフォルトは
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | latin1                     |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | latin1                     |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+

1 Star2 Stars3 Stars4 Stars5 Stars (まだ投票されていません)
読み込み中...

コメント

タイトルとURLをコピーしました