バックアップ(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/ | +--------------------------+----------------------------+
コメント