皆さんMySQLつかっていますか?MySQLには使い勝手を向上させてくれる便利なツールがたくさん用意されています。
今回はその中でもMySQL Workbenchに焦点を絞り、Tips的な知識を紹介していきます。細かな内容ですが、知っていると知らないでは使用感がかなり変わってくる部分でもあるので、ぜひさっくりとマスターしちゃいましょう!
MySQL Workbenchについて
まずはそもそもMySQL Workbenchとは何者か、というところから見ていきます。MySQL WorkbenchはMySQLが公式に頒布しているGUIツールです。
MySQLのデータベースを操作できるツールで、クライアントやフロントエンドと呼ばれるジャンルのツールになります。似たような機能を持つツールとしてはphpMyAdminが有名ですね。
あちらがWebサーバ上で動くのに対して、こちらはローカルのアプリケーションとして動作します。そのため、導入に対するコストが低いのも魅力です。
また、機能としてデータベースの操作だけでなく、データベースの設計や管理についての機能も充実しています。
新規のER図の作成やデータベースからER図を作成する機能、データベースのパフォーマンスをビジュアルで把握できるダッシュボードなど、高度な設計・管理機能を必要とするプロのデータベースエンジニアの要求にも十分対応できる機能を有しています。
ここだけ見ると初心者には敷居が高そうに感じますが、使う機能を絞れば初心者にとっても十分有用なツールですので、ぜひ積極的にチャレンジしていただきたいところです。
インストールや基本的な使い方については下の記事で紹介してありますので、ぜひこちらもご参照ください。
また、Windowsを利用しており、MySQLを公式のインストーラーから導入していた場合、特に意識せずともインストール済みなことが多くあります。WindowsでMySQLを学習中の方は、スタートメニューのMySQLフォルダを確認してみてください。
MySQL Workbenchの日本語化
この章ではMySQL Workbenchを日本語化する方法を見ていきましょう。MySQL Workbenchの日本語化は以前は簡単に行うことができました。こちらのページに日本語化済みのファイルが置いてあり、これを適用するだけで日本語化が完了したのです。
パッケージ MySQL-Workbench – OSS_Ja_JP – OSDN
ただ、実際行ってみるとわかるかと思いますが、更新が2011年でストップしており、対応バージョンも5.2.34が最終となっています。2018年12月現在、MySQL Workbenchは最新バージョンが8.0となっているため、残念ながら適用しようがありません。
ですが、日本語化自体は不可能ではありません。MySQL Workbenchはメニューの表示をXMLファイルで定義しているため、XMLファイルそのものを書き換えてしまえば表示を日本語化することが可能です。
XMLファイルの場所はWindowsでしたら
C:Program FilesMySQLMySQL Workbench 8.0 CEdatamain_menu.xml
macOSでしたら
Applications/MySQLWorkbench.app/Contents/Resources/data/main_menu.xml
上記のアドレスでアクセスできるはずです。XMLファイルをテキストエディタ等で開くと次のようになっています。
<?xml version="1.0"?> <data> <value type="list" content-type="object" content-struct-name="app.MenuItem"> <!-- File Menu --> <value type="object" struct-name="app.MenuItem" id="com.mysql.wb.menu.file"> <value type="string" key="name">file</value> <value type="string" key="caption">_File</value> <value type="string" key="itemType">cascade</value> <value type="list" key="subItems" content-type="object" content-struct-name="app.MenuItem"> <value type="object" struct-name="app.MenuItem" id="com.mysql.wb.menu.file.new1"> <link type="object" key="owner" struct-name="app.MenuItem">com.mysql.wb.menu.file</link> <value type="string" key="name">new_document</value> <value type="string" key="command">plugin:wb.file.newDocument</value> <value type="string" key="itemType">action</value> <value type="string" key="shortcut">Modifier+N</value> </value> <value type="object" struct-name="app.MenuItem" id="com.mysql.wb.menu.file.file_new"> <link type="object" key="owner" struct-name="app.MenuItem">com.mysql.wb.menu.file</link> <value type="string" key="caption">_New Query Tab...</value> <value type="string" key="context">home</value> <value type="string" key="name">new_query_tab</value> <value type="string" key="command">builtin:query.newQueryNoconnection</value> <value type="string" key="itemType">action</value> <value type="string" key="shortcut">Modifier+T</value> </value> ……
一見複雑ですが、書き換えるべきは<value type="string" key="caption">_File</value>のようにkey="caption"属性がついたもののみです。
これが実際の表示を担当しているので、ここを書き換えればメニューを日本語化することができます。エディタの検索機能を駆使して必要な部分を拾っていきましょう。一例として試しに日本語化したものを御覧ください。
注意点として、編集する際の文字エンコードはUTF-8を利用してください。うっかりShift-JISなどを使うとエラーを吐いて動かなくなります。
また、Windows版での注意点ですが、XMLファイルの編集はローカルディスク外部で行い、書き換えたファイルをもとに戻すようにしましょう。
最近のWindowsはセキュリティの関係でローカルディスクのProgram Files領域ではファイルの編集ができません。書き換えたつもりが反映されていなかった、ということがまま起こりますのでご注意ください。
最後に一般的な注意点ですが、こういった内部にダイレクトに影響のあるファイルは必ず元のファイルのコピーを保存した上で書き換えるようにしましょう。いざというときは元のファイルを戻せば復帰できるのでいろいろと安心です。
MySQL Workbenchの文字化け対策
この章ではMySQL Workbenchの文字化け対策についてみていきます。比較的古いバージョンのMySQL Workbenchを利用している場合、日本語のテーブル名やデータを入力すると文字化けを起こしてしまうことがあります。
カラム名やテーブル名には日本語を使わないのがなかば常識化している方も多いことでしょう。今回も記事として紹介するに当たり、文字化けを起こした画像を用意しようとしたのですが、最近はUnicode化が進んだせいか文字化けを起こすことができませんでした。
こういったところでも時代の進歩を感じますね。今後はテーブル名やカラム名に日本語を使うことが一般化していくのでしょうか。それはさておき、古いバージョンを使っていて文字化けに遭遇したときの対処法です。
これは意外と簡単で、内部で使うフォントセットを日本語が扱えるものに切り替えてしまえばOKです。やり方はメニューバーのEdit → Preferences → Appearance からFontsのConfigure Fonts For:をJapaneseに設定するだけです。
あとはMySQL Workbenchを再起動すれば文字化けを解消できます。もし文字化けに遭遇した際はお試しください。
まとめ
いかがでしたか?今回はMySQL Workbenchを便利に使うためのTipsを紹介してきました。WorkbenchはMySQLの公式ツールという安心感とOSを問わずに使える利便性から多くのユーザーがいるツールです。
これを機に使い方を覚え、MySQLをより便利に使えるようになると学習がさらに高速に進められることでしょう。ぜひ効率的に学習を進めて、MySQLをマスターしてください。この記事が皆様のMySQL学習の一助となれば幸いです。