SQLの窓

2014年05月10日


MySQL を UTF-8 環境で作成して、mysqldump.exe でバックアップするバッチファイルのサンプル

Windows では、MySQL は UTF-8 環境で作成されますが(MySQL 5.6 (Generally Available (GA) Releases) インストール)、クライアントを cp932(shift_jis) としてテーブルを作成し(MySQL 5.6 : テストデータ自動作成スクリプト)、mysqldump.exe で shift_jis のテーブル名を指定して実行すると、そのままでは認識してくれません。

--default-character-set=cp932 をコマンドラインに追加すると、テーブル名を認識してくれますが、出力されたデータは SHIFT_JIS と UTF-8 が混在になっています。( データ部分は SHIFT_JIS で、CREATE 文部分は UTF-8 )

エディタで、個別に該当のキャラクタセットで表示してやるとどちらも使えますが、--default-character-set=cp932 を指定せずに、テーブル指定無しで全て出力してやると、出力されたデータは全て UTF-8 になります。

※ cp932 にしないと、いくつかの文字が正しく変換されずに ? と表示されます( sjis だとそうなります )
setlocal
set run_path=C:\Program Files\MySQL\MySQL Server 5.6\bin\mysqldump.exe
set save_path=%temp%\mysqldump.sql
set save_path_table=%temp%\mysqldump_table.sql
set save_tables=商品マスタ 社員マスタ

REM 全てのテーブルとビュー( 全て、UTF-8 で書き込まれます )
"%run_path%" --host=localhost --user=root --password=trustno1 --add-drop-table --force --quote-names lightbox > "%save_path%" & explorer /select,"%save_path%"

REM テーブル指定( CREATE 文部分のみが、UTF-8 で書き込まれます )
"%run_path%" --host=localhost --user=root --password=trustno1 --add-drop-table --force --quote-names --default-character-set=cp932 lightbox %save_tables% > "%save_path_table%" & explorer /select,"%save_path_table%"


▼ SHIFT_JIS 環境のエディタ内で、UTF-8 として表示された CREATE 文
--
-- Table structure for table `商品マスタ`
--

DROP TABLE IF EXISTS `商品マスタ`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `蝠・刀繝槭せ繧ソ` (
  `蝠・刀繧ウ繝シ繝荏 varchar(4) NOT NULL DEFAULT '',
  `蝠・刀蜷港 varchar(50) DEFAULT NULL,
  `蝨ィ蠎ォ隧穂セ。蜊倅セ。` int(11) DEFAULT NULL,
  `雋ゥ螢イ蜊倅セ。` int(11) DEFAULT NULL,
  `蝠・刀蛻・。杼 varchar(3) DEFAULT NULL,
  `蝠・刀蛹コ蛻・ varchar(1) DEFAULT NULL,
  `菴懈・譌・` datetime DEFAULT NULL,
  `譖エ譁ー譌・` datetime DEFAULT NULL,
  PRIMARY KEY (`蝠・刀繧ウ繝シ繝荏)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;




【MySQLの最新記事】
posted by lightbox at 2014-05-10 16:29 | MySQL | このブログの読者になる | 更新情報をチェックする
バッチ処理

Microsoft Office
container 終わり

フリーフォントで簡単ロゴ作成
フリーフォントでボタン素材作成
フリーフォントで吹き出し画像作成
フリーフォントではんこ画像作成
ほぼ自由に利用できるフリーフォント
フリーフォントの書体見本とサンプル
画像を大きく見る為のウインドウを開くボタンの作成

Android SDK ポケットリファレンス
改訂版 Webデザイナーのための jQuery入門
今すぐ使えるかんたん ホームページ HTML&CSS入門
CSS ドロップシャドウの参考デモ
Google Hosted Libraries
cdnjs
BUTTONS (CSS でボタン)
イラストAC
ぱくたそ
写真素材 足成
フリーフォント一覧
utf8 文字ツール
右サイド 終わり
base 終わり