VMware Playerで「仮想マシンの設定 (vmrestが仮想マシンを実行しているため読み取り専用)」が変更できない問題:解決

VMware Player - 仮想マシンの設定 (vmrestが仮想マシンを実行しているため読み取り専用)

Windows版のVMware Playerを使っていたら、「仮想マシンの設定」ダイアログに「(vmrestが仮想マシンを実行しているため読み取り専用)」が付いて、設定項目がグレーアウトしてしまいネットワークアダプターなどの編集ができないと言う問題が起こりました。
※Read-only as vmrest is operating the VM

原因はロックファイルの存在。

どのタイミングか分かりませんが、恐らく仮想マシンをホストしているマシン自体が落ちた際に残ったロックファイルなのだと思います。

解決方法は、仮想マシンのフォルダーを開き、「~.lck」フォルダーを削除してVMware Playerを再起動します。

メチャクチャ解決に時間がかかった・・

え?Webサイトのバックアップ、してないの!?

いざという時には復旧までしてくれる

『ワードプレス外部バックアップサービス』

■3つの特長

・自分でやらなくて良い

・いざという時の復旧付き

・外部サーバーにバックアップ

Wordでフォントを変えたら行間が広がって気持ち悪いを解決する方法

Wordで最近標準になった遊ゴシックなどにフォントを変えると、
妙に行間が広がってイライラしたことありませんか?

とりあえずMSゴシックなどにしてしまい
ときれいに印刷できなくなるとか。

でもこれ、ちょっとした設定ですぐに解決できるんです。

その解決方法について、解説しました。

10年集客し続けられるサイトを、ワードプレスで自作する9つのポイント プレゼント

【最後まで読んでくれたあなたに】

あなたは、24時間365日、自分の代わりに集客し続けてくれるWebサイトを作りたい!と思ったことはありませんか?

私はこれまで500以上のWebサイトの構築と運営のご相談に乗ってきましたが、Webサイトを作ってもうまく集客できない人には、ある一つの特徴があります。

それは、「先を見越してサイトを構築していないこと」です。

Webサイトで集客するためには、構築ではなく「どう運用するか」が重要です。

しかし、重要なポイントを知らずにサイトを自分で構築したり、業者に頼んで作ってもらってしまうと、あとから全く集客に向いていないサイトになっていたということがよく起こります。

そこで今回、期間限定で

『10年集客し続けられるサイトをワードプレスで自作する9つのポイント』

について、過去に相談に乗ってきた具体的な失敗事例と成功事例を元にしてお伝えします。

・ワードプレスを使いこなせるコツを知りたい!

・自分にピッタリのサーバーを撰びたい!

・無料ブログとの違いを知りたい!

・あとで悔しくならない初期設定をしておきたい!

・プラグイン選びの方法を知っておきたい!

・SEO対策をワードプレスで行うポイントを知りたい!

・自分でデザインできる方法を知りたい!

という方は今すぐ無料でダウンロードしてください。

期間限定で、無料公開しています。

※登録後に表示される利用条件に沿ってご利用ください

CHUWI MiniBookでeMMCからSSDへOSを移行するのにMiniToolを使って行った手順について

CHUWI MiniBookでeMMCからSSDへOSを移行するのにMiniToolを使って行った手順についての備忘録です。

この記事を書いた背景

私が購入したMiniBookはm3-8100Y+メモリ16GB+SSD 512GB版です。

購入した初期の状態では、SSDが単なるDドライブとして使えるようになっているだけで起動はeMMCから行われます。

しかし、せっかくのNVMe接続のSSDですから、こちらを起動ドライブとしても使いたいと思い、入れ替えてみました。

その大まかな流れは次の様なものです。

  1. eMMCのパーティション構造をSSDにコピーする
  2. BIOSで起動ディスクをSSDに変更する

以下、もう少し具体的な手順です。

SSDへの移行手順

eMMCのパーティション構造をSSDにコピーする

パーティションのコピーツールは様々なものがありますが、今回は無料で使えるMiniTool Partition Wizardを使いました。

MiniTool Partition Wizard

インストールしたら、MiniToolの「OSの移行」メニューを利用します。

パーティション構造は基本的にeMMCのコピーを行うのですが、元とまったく同じ構成にするとWindows用の領域が小さくせっかくの大容量が無駄になってしまいます。

私の場合は次のようにパーティションサイズを最大化するようにしました。

CHUWI MiniBook MiniTool SSD移行後のパーティション設定

リカバリーがきちんと動作するかは確認しておりませんが、Windows PEが認識できると思うので大丈夫と思っています。

BIOSで起動ディスクをSSDに変更する

SSDへOSをクローニングしたら、BIOSで起動順序を変更します。

MiniBookのBIOSは電源投入時に表示されるMiniBookのロゴが出ている間に、ESCもしくはDelキーです。
適当に連打しておけばBIOSメニューが表示されると思います。

SSDのベンチマーク

Indiegogoモデルで搭載されていたのはNotac製のものでした。

とりあえず移行後にディスクのアクセスが落ち着いてからCrystalDiskMarkでベンチマークを取った結果を貼っておきます。

CHUWI MiniBook MiniTool SSD移行後 CrystalDiskMark

------------------------------------------------------------------------------
CrystalDiskMark 7.0.0 x64 (C) 2007-2019 hiyohiyo
                                  Crystal Dew World: https://crystalmark.info/
------------------------------------------------------------------------------
* MB/s = 1,000,000 bytes/s [SATA/600 = 600,000,000 bytes/s]
* KB = 1000 bytes, KiB = 1024 bytes

[Read]
Sequential 1MiB (Q=  8, T= 1):   550.735 MB/s [    525.2 IOPS] < 15202.32 us>
Sequential 1MiB (Q=  1, T= 1):   529.557 MB/s [    505.0 IOPS] <  1979.27 us>
    Random 4KiB (Q= 32, T=16):   165.111 MB/s [  40310.3 IOPS] < 12668.51 us>
    Random 4KiB (Q=  1, T= 1):    24.038 MB/s [   5868.7 IOPS] <   170.12 us>

[Write]
Sequential 1MiB (Q=  8, T= 1):   475.645 MB/s [    453.6 IOPS] < 17574.64 us>
Sequential 1MiB (Q=  1, T= 1):   436.401 MB/s [    416.2 IOPS] <  2401.02 us>
    Random 4KiB (Q= 32, T=16):   277.870 MB/s [  67839.4 IOPS] <  7508.22 us>
    Random 4KiB (Q=  1, T= 1):    80.460 MB/s [  19643.6 IOPS] <    50.63 us>

Profile: Default
   Test: 1 GiB (x5) [Interval: 5 sec] <DefaultAffinity=DISABLED>
   Date: 2019/12/15 9:14:20
     OS: Windows 10  [10.0 Build 18363] (x64)

まとめ

今回の環境変更にはお金をかけていません。

ですが、SSDになってからは細かい動作の引っかかりなどがなくなったことで体感的なスピードアップを感じられています。

M.2のサイズ的にもCPU的にもSamsungなどの超高速SSDを載せることはできませんが、手間をかけるのに十分なものでした。

え?Webサイトのバックアップ、してないの!?

いざという時には復旧までしてくれる

『ワードプレス外部バックアップサービス』

■3つの特長

・自分でやらなくて良い

・いざという時の復旧付き

・外部サーバーにバックアップ

Alexaで電化製品のスイッチをオンオフできる!TECKIN Wi-Fiスマートプラグの購入レビュー

ドリームハイブの山本です。

コンセント間に挟むだけで、インターネット経由やAlexa使った音声で電源をオンオフすることができるTECKIN Wi-Fiスマートプラグを購入しました。

スマートホームを実現する方法はいろいろありますが、個人的には賞味期限に疑問があるスマート家電を購入するよりも、今回レビューするような電源のみを管理する方法の方が今の過渡期にはベター考えています。

このスマートプラグでは使用した電力量も見られるので、スマートメーターとして導入するのもありかもしれないですね。

◎Amazonの商品リンクです
→ https://amzn.to/37tnllH

10年集客し続けられるサイトを、ワードプレスで自作する9つのポイント プレゼント

【最後まで読んでくれたあなたに】

あなたは、24時間365日、自分の代わりに集客し続けてくれるWebサイトを作りたい!と思ったことはありませんか?

私はこれまで500以上のWebサイトの構築と運営のご相談に乗ってきましたが、Webサイトを作ってもうまく集客できない人には、ある一つの特徴があります。

それは、「先を見越してサイトを構築していないこと」です。

Webサイトで集客するためには、構築ではなく「どう運用するか」が重要です。

しかし、重要なポイントを知らずにサイトを自分で構築したり、業者に頼んで作ってもらってしまうと、あとから全く集客に向いていないサイトになっていたということがよく起こります。

そこで今回、期間限定で

『10年集客し続けられるサイトをワードプレスで自作する9つのポイント』

について、過去に相談に乗ってきた具体的な失敗事例と成功事例を元にしてお伝えします。

・ワードプレスを使いこなせるコツを知りたい!

・自分にピッタリのサーバーを撰びたい!

・無料ブログとの違いを知りたい!

・あとで悔しくならない初期設定をしておきたい!

・プラグイン選びの方法を知っておきたい!

・SEO対策をワードプレスで行うポイントを知りたい!

・自分でデザインできる方法を知りたい!

という方は今すぐ無料でダウンロードしてください。

期間限定で、無料公開しています。

※登録後に表示される利用条件に沿ってご利用ください

ディスプレイが休止するとウィンドウが左上に集約される問題が発生:解決

ウィンドウが左上にまとまってしまった状態

この記事を書いた背景

先日のAmazonプライムデーで4Kのディスプレイを買ったのですが、ディスプレイの電源が省電力モードに入ったあと復帰させると、実行していたアプリケーションのウィンドウサイズが小さくなって左上にまとまってしまうという問題が発生しました。

上にあるこの記事のタイトル画像を見ていただくとわかるかと思いますが、このようなウィンドウのサイズで配置する使い方は通常しないでしょう(笑)

使おうと思うタイミングで毎回この症状が発生すると、なかなかにストレスです。

今回の症状が出た機器


INTEL インテル i5-8259U M.2 SSDに対応 2.5
INTEL インテル i5-8259U M.2 SSDに対応 2.5″ (9.5mm厚) HDD/SSDも搭載可能 ハイパフォーマンス小型ベアボーンキット BOXNUC8I5BEH【日本正規流通品】


【Amazon.co.jp限定】LG モニター ディスプレイ 32UD60-B 31.5インチ/4K/VA 非光沢/HDMI、DisplayPort/スピーカー搭載/高さ調節対応
【Amazon.co.jp限定】LG モニター ディスプレイ 32UD60-B 31.5インチ/4K/VA 非光沢/HDMI、DisplayPort/スピーカー搭載/高さ調節対応

原因

この症状が発生するのは、ディスプレイが省電力モードになった時点でWindowsがディスプレイを取り外したという扱いになってしまっていることが原因です。

Windowsがディスプレイが取り外されたという認識をすると、サポートしている最小の解像度(1024×768)に収まるようにウィンドウサイズや位置を変更するというWindowsの仕様によるものです。

なお、この問題が発生するのは、PCとディスプレイとの接続方法がHDMIもしくはDisplayPortの場合です。

解決方法

解決方法としては、Windows 10の必須となるディスプレイ解像度を、4Kディスプレイの解像度(3840×2160)に変更することです。

こうすることで、ディスプレイが切断させた扱いになっても復帰する解像度に差がないので、ウィンドウサイズの変更や移動が発生しなくなります。

設定の変更はレジストリエディタで行います。

ディスプレイアダプタやWindows 10のバージョンによって変更するキーが違うと思いますが、解像度の値で探せば見つかると思います。

手順は次の通りです。

手順

  1. レジストリエディタを立ち上げる
    Win+Rregeditと入力、「OK」ボタンをクリック
  2. レジストリキーを開く
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\Configuration\NOEDID_xxxx
    レジストリエディタでディスプレイサイズの変更
  3. 配下の00キーと00\00にある下記の値を全て書き換える
    • PrimSurfSize.cx:3840
    • PrimSurfSize.cy:2160
    • ActiveSize.cx:3840
    • ActiveSize.cy:2160
    • DwmClipBox.bottom:2160
    • DwmClipBox.right:3840
      ※10進数で指定する
  4. Windowsを再起動する

なお、値の変更は上記すべての必要はないと思うのですが、MSDNなど見ても各値の詳細を見つけられなかったため可能性のある値すべてを書き換えるという強引なやり方をしています(苦笑)

まとめ

これまでここまで解像度が高いディスプレイは使ったことがなかったので気にしたことはありませんでしたが、この症状があまりにも頻発するので解決方法を探してまとめました。

もし解像度の低いディスプレイに変更することがあるのであれば、設定をあらかじめ元に戻しておかないと画面外に吹っ飛んでしまうウィンドウが出でしょうから気をつけましょう。

参考になれば幸いです。

購入した機器


INTEL インテル i5-8259U M.2 SSDに対応 2.5
INTEL インテル i5-8259U M.2 SSDに対応 2.5″ (9.5mm厚) HDD/SSDも搭載可能 ハイパフォーマンス小型ベアボーンキット BOXNUC8I5BEH【日本正規流通品】


【Amazon.co.jp限定】LG モニター ディスプレイ 32UD60-B 31.5インチ/4K/VA 非光沢/HDMI、DisplayPort/スピーカー搭載/高さ調節対応
【Amazon.co.jp限定】LG モニター ディスプレイ 32UD60-B 31.5インチ/4K/VA 非光沢/HDMI、DisplayPort/スピーカー搭載/高さ調節対応

え?Webサイトのバックアップ、してないの!?

いざという時には復旧までしてくれる

『ワードプレス外部バックアップサービス』

■3つの特長

・自分でやらなくて良い

・いざという時の復旧付き

・外部サーバーにバックアップ

EclipseでJavadocを使うときに「この文字は、エンコーディング MS932 にマップできません」が出たときの対処方

EclipseでJavadocでドキュメントを出力しようとしたら、
「この文字は、エンコーディング MS932 にマップできません」と言うエラーで止まってしまった時の対処方法です。

原因はソースコードとJavadocで出力するHTMLの文字コードが違っていることです。

解決方法は、これをきちんと指定することです。

やり方は次の通り。

Eclipseで「ファイル|エクスポート|Java|JavaDoc」、「JavaDocの引数を構成する」ダイアログを開き、
「追加のJavadocオプション」で-encoding UTF-8 -docencoding Windows-31Jを指定します。

encoding
ソースコードで指定されている文字コードを指定します
docencoding
ドキュメントで使用したい文字コードを指定します

以上です。

え?Webサイトのバックアップ、してないの!?

いざという時には復旧までしてくれる

『ワードプレス外部バックアップサービス』

■3つの特長

・自分でやらなくて良い

・いざという時の復旧付き

・外部サーバーにバックアップ

EclipseでJavadocを使うときに「この文字は、エンコーディング MS932 にマップできません」が出たときの対処方

EclipseでJavadocでドキュメントを出力しようとしたら、
「この文字は、エンコーディング MS932 にマップできません」と言うエラーで止まってしまった時の対処方法です。

原因はソースコードとJavadocで出力するHTMLの文字コードが違っていることです。

解決方法は、これをきちんと指定することです。

やり方は次の通り。

Eclipseで「ファイル|エクスポート|Java|JavaDoc」、「JavaDocの引数を構成する」ダイアログを開き、
「追加のJavadocオプション」で-encoding UTF-8 -docencoding Windows-31Jを指定します。

encoding
ソースコードで指定されている文字コードを指定します
docencoding
ドキュメントで使用したい文字コードを指定します

以上です。

え?Webサイトのバックアップ、してないの!?

いざという時には復旧までしてくれる

『ワードプレス外部バックアップサービス』

■3つの特長

・自分でやらなくて良い

・いざという時の復旧付き

・外部サーバーにバックアップ

Windows 10の画面を90度回転させて縦持ち用にするショートカット キーを作る方法について

この記事を書いた背景

私がメインで使っているLG gram 13やサブのUMPCとして使っているGPD Pocket2はタッチパネル対応なので、ビューワーなどとして画面を縦持ちで使いたくなることがよくあります。

どちらのデバイスもジャイロセンサーは持っていないので、画面の回転は手動で行う必要があるんですね。

Windowsタブレットだとアクション センターから画面の回転ロックが制御できるのですが、当たり前ながらこれも表示されず。

ほんの少し前までは、画面の回転はIntel製のグラフィックス ドライバーの機能でキーボードのショートカットでコントロールできていたんですが、Windows 10の「設定」から回転ができるようになったためか、Intelのドライバーからこの機能が省かれてしまいました。
※CTRL+ALT+カーソルキーで制御できた

そこで、Windows 10の画面を簡単に90度回転させる方法について考えたので記事にしました。

私の持ってる該当のマシン


LG Gram Laptop - 13.3
LG Gram Laptop – 13.3″ Full HD Display, Intel 8th Gen Core i7, 16GB RAM, 256GB SSD, 20.5 Hour Battery Life, Thunderbolt 3 – 13Z990-R.AAS7U1 (2019)


[セット品] GPD Pocket2 8GB/128GB版 [オリジナル液晶保護フィルム, Pocket2専用ケース etc] (Windows10 /7.0inch /IPS液晶) (Gorilla Glass 4 /UMPC)
[セット品] GPD Pocket2 8GB/128GB版 [オリジナル液晶保護フィルム, Pocket2専用ケース etc] (Windows10 /7.0inch /IPS液晶) (Gorilla Glass 4 /UMPC)

理想の状態と実現方法の検討

もともとIntel製のグラフィクス ドライバーでできていた状態と同じ、キーボード ショートカットで回転ができることが理想的な状態です。

これを実現するために思いついたのは次の2つです。

  1. PowerShellで回転用のスクリプトを作り、キーボード ショートカットを割り当てる
  2. なんらかのフリーソフトで実現する

まず、PowerShellによる実現は諦めました。

Set-DisplayResolutionあたりでできると思っていたのですが、どうにも回転についての情報を見つけられなかったのが理由です。

続いてフリーソフトを探したところ、Display Changer IIというのが私の用途にピッタリのものでした。

Display Changer IIは、現在のディスプレイの設定情報をXMLに書き出すこと、書き出したXMLを利用してディスプレイの設定に反映すること、ができます。

Display Changer II – 12noon

Display Changer IIによる実現方法

大まかな流れは次の3ステップです。

  1. 横状態のディスプレイの設定をXMLファイルに保存する
  2. (ファイルをコピーしてから)回転した状態を設定する(→縦状態のXMLファイルができる)
  3. 横状態、縦状態のXMLファイルを使いたいタイミングで読み込ませる

続いてDisplay Changer IIの利用方法について次にまとめます。

Display Changer IIのダウンロード

Display Changer II – 12noonからダウンロードし、適当なフォルダーに展開します

コマンド プロンプトを開き、展開したフォルダーに移動します。

現在のディスプレイ設定を書き出す

次のコマンドを実行することで、monitor_settings.xmlに現在のディスプレイ設定が書き出されます。

>dc2.exe -create="monitor_settings.xml"

参考までに、LG gram 13の書き出されたXMLファイルの内容を載せておきます。

<monitors app-version="1.7.0.32" version="3" topology="Internal">
    <!--The version identifies the format of the configuration file.-->
    <!--topology=-->
    <!--Internal, Clone, Extend, External-->
    <!--The monitor ID attribute must be specified.-->
    <monitor active="true" virtual="false" id="265988" id-FFFF="true" adapterHigh="0" adapterLow="53547">
        <name></name>
        <!--source: the origin of the video signal-->
        <source id="0">
            <name>\\.\DISPLAY1</name>
            <path>\\?\PCI#VEN_8086&DEV_5917&SUBSYS_03021854&REV_07#3&11583659&1&10#{5b45201d-f2f2-4f3b-85bb-30ff1f953599}</path>
        </source>
        <size width="1920" height="1080"/>
        <position left="0" top="0"/>
        <!--8bpp, 16bpp, 24bpp, 32bpp, Non-GDI-->
        <color value="32bpp"/>
        <!--Identity, 90-degreesCW, 180-degreesCW, 270-degreesCW-->
        <rotation value="Identity"/>
        <!--Identity, Centered, Stretched, Aspect Ratio Centered Max, Custom, Preferred-->
        <scaling value="Aspect Ratio Centered Max"/>
        <!--A value of 0/0 represents the optimal refresh rate. Scan-line-order must be Unspecified.-->
        <refresh numerator="138650000" denominator="2310880"/>
        <!--Unspecified, Progressive, Interlaced (upper field first), Interlaced (lower field first)-->
        <scanlineorder value="Progressive"/>
    </monitor>
</monitors>

画面の回転部分について、XMLファイルを書き換える

前の手順で書き出したファイルをコピーし、vertical_settings.xmlと言う名前で保存します。

このファイルの回転に関する部分(rotationノードのvalue属性の値)を次のように書き換えます。

        <!--Identity, 90-degreesCW, 180-degreesCW, 270-degreesCW-->
        <rotation value="90-degreesCW"/>

以上の作業で、必要な設定ファイルが完成しました。

ちなみに、GPD Pocket2は元々縦仕様の液晶を採用しているため、横持ち時の値が「270-degreesCW」です。
なので、縦置き時の指定は「Identity」となりますね。

画面の切り替え方法

上記までの作業で作成したXMLファイルを用いて画面を回転させるには、
コマンド プロンプトで次のコマンドを実行し、読み込ませたいXMLファイルを指定します。

>dc2.exe -configure="vertical_settings.xml"

上記の例では横持ち用のXMLファイルを直接変更しました。

これで通常のXMLと縦持ち用のXMLを切り替えて使えば良いですね。

ショートカート キーで画面の回転をできるようにする

コマンドで画面の切り替えができるようになったらば、これをショートカットキーで使えるように設定しましょう。

大まかな流れは次の2ステップです。

  1. コマンドをbatファイルで実行できるようにする
  2. ショートカットファイルをプログラムメニュー内に作成する

続いて詳細を次にまとめます。

コマンドをbatファイルで実行できるようにする

まずは、先ほどのコマンドを実行するbatファイルを用意します。

次の様な内容にします。dc2へのパスは環境に合わせて指定してください。

@echo off
cd C:\path\to\dc2
dc2.exe -configure="normal_settings.xml"

ショートカットファイルをプログラムメニュー内に作成する

コマンドをbatファイルに保存したら、ショートカットを作成し、プログラム メニューに移動します。

プログラム メニューのフォルダーを開くには「ファイル名を指定して実行(Win+R)」ダイアログを指定し、「shell:programs」を入力するなどが簡単です。

移動する理由は、ショートカット ファイルにはショートカット キーを設定する機能があるのですが、この機能が有効になるのはショートカット ファイルがデスクトップかプログラム メニューのフォルダー内に存在していることが条件になっているためです。

参考:ショートカットのショートカット キーが機能しない

移動したショートカット ファイルのプロパティを開き、次の2点を設定しましょう。

  • 「ショートカット キー」を任意に指定する
  • 「実行時の大きさ」を「最小化」

画面の回転を実行するショートカット

以上で、自分で指定したショートカット キーで画面の切り替えを制御できるはずです。

まとめ

GPD Pocket2だとこんな感じで縦持ちモードになるのを簡単に制御できるようになりました!

GPD Pocket 2の縦持ち状態

今回使用したフリーソフトのdc2には、画面表示の設定変更後に特定のアプリを実行するなどの機能もあります。
例えば、TouchMousePointerのような仮想タッチパッドをデフォルトで表示させたりするなどの欲も出てきてしまいます(笑)

ちょっと書こうと思った記事が想像以上に書くことになってしまいましたが、参考になれば。

ちゃんと動いた私のPCたち


LG Gram Laptop - 13.3
LG Gram Laptop – 13.3″ Full HD Display, Intel 8th Gen Core i7, 16GB RAM, 256GB SSD, 20.5 Hour Battery Life, Thunderbolt 3 – 13Z990-R.AAS7U1 (2019)


[セット品] GPD Pocket2 8GB/128GB版 [オリジナル液晶保護フィルム, Pocket2専用ケース etc] (Windows10 /7.0inch /IPS液晶) (Gorilla Glass 4 /UMPC)
[セット品] GPD Pocket2 8GB/128GB版 [オリジナル液晶保護フィルム, Pocket2専用ケース etc] (Windows10 /7.0inch /IPS液晶) (Gorilla Glass 4 /UMPC)

え?Webサイトのバックアップ、してないの!?

いざという時には復旧までしてくれる

『ワードプレス外部バックアップサービス』

■3つの特長

・自分でやらなくて良い

・いざという時の復旧付き

・外部サーバーにバックアップ

Windows版のMySQLで、CSVファイルをインポートしてからSQLファイルとしてエクスポートする手順

この記事を書いた背景

Windows版のMySQLで、大量のテストデータを用意する作業が発生しました。

テストデータを作れるWebサービスは色々とあるものの出力形式がCSVなので、そのファイルをMySQLでインポートする操作と、
複数のPCにインストールされたMySQLに横展開したいので、インポートしたDBをSQLとしてエクスポートする操作があるので、それを記事としてまとめました。

ちょっとずつハマったので・・

手順

作業全体の流れ

操作自体は次の3ステップです。

  1. テストデータを作る
  2. MySQLにテストデータをインポートする
  3. MySQLのデータベースをエクスポートする

注意点などを含めた詳細な手順を次に載せます。

1. テストデータを作る

テストデータは次のWebサービスを利用して作りました。
CSVファイルで出力しています。

SmartData

2. MySQLにテストデータをインポートする

MySQLにはLOAD DATA LOCAL INFILEという外部ファイルからのデータ取り込み機能があります。

しかし、セキュリティの観点からローカルファイルの利用がデフォルトでは無効になっているため、次のどちらかの方法でローカルファイルの利用を許可する必要があります。

mysqlコマンドにオプションを付ける方法

mysqlコマンドの起動オプションに「–local-infile=1」を付ける方法です。

MySQL Command Line Client – Unicodeのショートカットに直接追記するか、コマンド プロンプトで起動する際にオプションで指定します。

ショートカットに追記する際は、オプションを「”–local-infile=1″」のように「”」で加工ようにしてください。

my.iniで設定する方法

my.iniで有効にする場合には、次の記述を書き加えてmysqlを再起動してください。

[client]
loose-local-infile=1

インポートの記述

インポートを実行するコマンドは次の構文で記述します。

mysql> LOAD DATA LOCAL INFILE 'C:/path/to/file.csv' INTO TABLE tablename FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\r\n';

オプションの意味は次の通りです。

TERMINATED BY ‘,’
「,」をカラムを区切りに指定(デフォルトは「タブ(\t)」)
OPTIONALLY ENCLOSED BY ‘”‘
「,」を含むデータを囲む文字の指定
LINES TERMINATED BY ‘\r\n’
改行コードにCR/LFを指定(Excelなど多くのWindowsアプリケーションのデフォルト値)
LOAD DATA LNFILEの設定のデフォルトでは改行コードをLFとして扱うので、最終カラムの末尾にCRが付いた状態でインポートされてしまうのを防ぐために指定します。

3. MySQLのデータベースをエクスポートする

作成したデータは、データベースの単位でダンプすることでエクスポートします。

コマンドラインやPowerShellで次のコマンド実行します。

>path\to\mysql\bin\mysqldump -u -root -p databasename > export.sql

export.sqlの出力先によっては(Program Filesの下とか)コマンドプロンプトを管理者権限で立ち上げないと、ファイルの書込権限がなくてエラーします。

新規データベースにインポートする

先の手順で作成したエクスポートファイル(export.sql)を利用する際は、直接SQLを実行する方法と、コマンドプロンプトを利用する方法があります。

直接SQLを実行する方法

直接SQLを実行する場合、MySQL Command Line Client – Unicodeなどを起動して、SQLの中身をコピペします。

SQLが大きい場合、画面がスクロールして時間がかかるかも知れません。

コマンドを利用する方補う

コマンド プロンプトを利用する場合、SQLを実行するには事前に受け入れ先のデータベースを用意しておく必要があります。

MySQL Command Line Client – Unicodeなどを起動して、次のコマンドでデータベースを用意します。

mysql> CREATE DATABASE targetdb

続いてコマンド プロンプトを起動して、次のコマンドでエクスポートファイルを読み込ませます。

>path\to\mysql\bin\mysql -u root -p targetdb < export.sql

まとめ

けっして難しい作業ではないのですが、細々とミスりそうなポイントがあるのに注意しないとですね!

え?Webサイトのバックアップ、してないの!?

いざという時には復旧までしてくれる

『ワードプレス外部バックアップサービス』

■3つの特長

・自分でやらなくて良い

・いざという時の復旧付き

・外部サーバーにバックアップ

Windows版のMySQLで、CSVファイルをインポートしてからSQLファイルとしてエクスポートする手順

この記事を書いた背景

Windows版のMySQLで、大量のテストデータを用意する作業が発生しました。

テストデータを作れるWebサービスは色々とあるものの出力形式がCSVなので、そのファイルをMySQLでインポートする操作と、
複数のPCにインストールされたMySQLに横展開したいので、インポートしたDBをSQLとしてエクスポートする操作があるので、それを記事としてまとめました。

ちょっとずつハマったので・・

手順

作業全体の流れ

操作自体は次の3ステップです。

  1. テストデータを作る
  2. MySQLにテストデータをインポートする
  3. MySQLのデータベースをエクスポートする

注意点などを含めた詳細な手順を次に載せます。

1. テストデータを作る

テストデータは次のWebサービスを利用して作りました。
CSVファイルで出力しています。

SmartData

2. MySQLにテストデータをインポートする

MySQLにはLOAD DATA LOCAL INFILEという外部ファイルからのデータ取り込み機能があります。

しかし、セキュリティの観点からローカルファイルの利用がデフォルトでは無効になっているため、次のどちらかの方法でローカルファイルの利用を許可する必要があります。

mysqlコマンドにオプションを付ける方法

mysqlコマンドの起動オプションに「–local-infile=1」を付ける方法です。

MySQL Command Line Client – Unicodeのショートカットに直接追記するか、コマンド プロンプトで起動する際にオプションで指定します。

ショートカットに追記する際は、オプションを「”–local-infile=1″」のように「”」で加工ようにしてください。

my.iniで設定する方法

my.iniで有効にする場合には、次の記述を書き加えてmysqlを再起動してください。

[client]
loose-local-infile=1

インポートの記述

インポートを実行するコマンドは次の構文で記述します。

mysql> LOAD DATA LOCAL INFILE 'C:/path/to/file.csv' INTO TABLE tablename FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\r\n';

オプションの意味は次の通りです。

TERMINATED BY ‘,’
「,」をカラムを区切りに指定(デフォルトは「タブ(\t)」)
OPTIONALLY ENCLOSED BY ‘”‘
「,」を含むデータを囲む文字の指定
LINES TERMINATED BY ‘\r\n’
改行コードにCR/LFを指定(Excelなど多くのWindowsアプリケーションのデフォルト値)
LOAD DATA LNFILEの設定のデフォルトでは改行コードをLFとして扱うので、最終カラムの末尾にCRが付いた状態でインポートされてしまうのを防ぐために指定します。

3. MySQLのデータベースをエクスポートする

作成したデータは、データベースの単位でダンプすることでエクスポートします。

コマンドラインやPowerShellで次のコマンド実行します。

>path\to\mysql\bin\mysqldump -u -root -p databasename > export.sql

export.sqlの出力先によっては(Program Filesの下とか)コマンドプロンプトを管理者権限で立ち上げないと、ファイルの書込権限がなくてエラーします。

新規データベースにインポートする

先の手順で作成したエクスポートファイル(export.sql)を利用する際は、直接SQLを実行する方法と、コマンドプロンプトを利用する方法があります。

直接SQLを実行する方法

直接SQLを実行する場合、MySQL Command Line Client – Unicodeなどを起動して、SQLの中身をコピペします。

SQLが大きい場合、画面がスクロールして時間がかかるかも知れません。

コマンドを利用する方補う

コマンド プロンプトを利用する場合、SQLを実行するには事前に受け入れ先のデータベースを用意しておく必要があります。

MySQL Command Line Client – Unicodeなどを起動して、次のコマンドでデータベースを用意します。

mysql> CREATE DATABASE targetdb

続いてコマンド プロンプトを起動して、次のコマンドでエクスポートファイルを読み込ませます。

>path\to\mysql\bin\mysql -u root -p targetdb < export.sql

まとめ

けっして難しい作業ではないのですが、細々とミスりそうなポイントがあるのに注意しないとですね!

え?Webサイトのバックアップ、してないの!?

いざという時には復旧までしてくれる

『ワードプレス外部バックアップサービス』

■3つの特長

・自分でやらなくて良い

・いざという時の復旧付き

・外部サーバーにバックアップ

あなたの IT の疑問・不安をすべて解決するコンシェルジュ サービス