DB関係

  • DB関係のTIPS
    • 問題
      • dumpファイルの文字コードとDBの文字コードが異なっていたために文字化けを起こしてしまった。
        • dumpファイル→latin1
        • DB→utf8
      • CSEでは正常に日本語が見えていたが、CSEがうまく解釈してたため。
      • ODBCの設定でUTF8で見るようにするとCSEでも文字化けした。
    • 対処
      • UTF8で保存したdumpファイルでリストアした。
    • 文字コードの確認と設定

show create database [DB名]

  • 文字コードの設定は、DBの作成時に以下のように指定します。

create database [DB名] default character set utf8;

  • CSEのUTF8設定

CSEでUTF8で指定する場合は、ODBCの設定の「Connect Options」タブで「Initial Statement」に以下を設定する。

set names cp932

dumpしたファイルをUTF8で開いたサクラエディタ等にコピーしてUTF8の形式で保存する。
UTF8にするためにbackup.sqlの一番上に以下を記述する。

SET NAMES utf8;

  • 受信Packetの最大サイズ設定

リストアの際、dumpファイルが大きすぎるとエラーが発生します。
その場合、MySQLサーバが受信を許可するPacketの最大サイズを設定します。

  • 設定値の確認

show variables like 'max_allowed_packet';

  • 設定

MySQLディレクトリ内の「my.ini」に以下のように記述する。

[mysqld]

max_allowed_packet=16MB