MacのMySQLクライアントと言えば、SequelPro。SequelProがあるから、WindowsではなくMacがいいとも言えるし、SequelProがあるからPostgresではなくMySQLが良いとも言える。
以下、SequelProがいいところ。
- SSL Tunnelができる
- クエリ結果をエクセルにコピペできる
- sqlのコード補完が賢い
- 複数のWhere文くらいまでは、コードを書かなくてもGUIのみで可能
- TEXTフィールドみたいな長いフィールドは一覧では読み込まないという設定が可能
- BLOBに入った画像やPDFがプレビューできる
- インポート、エクスポートが楽
めちゃくちゃ便利なので、エクセルの代わりに、MySQLデータベースを使ってるくらい。ちょっとしたテーブルデータはsqlダンプファイルでやり取りする。下手にCSVにして前ゼロが消える恐ろしさもない。
ただしそれもSequelProがあってのこと。WindowsやLinuxの人は苦労をしている。そしてまだ決め手はないので、この記事を淡々と更新していく。
Adminier(今の普段使い、ただしおすすめしない)
AdminerはphpmyadminのようなブラウザベースでのDBのインターフェース。実は私はこれを使ってる。ブラウザなので、ローカルのMySQLに接続するにもWebサーバを建てなくちゃいけない。ApacheやNginxがなくても、PHP単体でもWebサーバにはなり得るので、スタンドアドン版あるけど、実体はWebサーバーがたってる。
SequelProみたいには、SSHトンネルができないので、ローカルサーバにSSHポートフォワードをした上で、リモートのDBに繋いでいる。SSHポートフォワードしなくちゃいけない時点で、初心者には難しい。さらにSSHポートフォワードは当然切れるので、autosshというツールで「一度キレても再接続」するようにしている。このあたりも他人におすすめするのには複雑すぎる。
phpmyadminとできることはほぼ一緒だが、Adminierは後発でphp一枚で完結しているので、インストールがめちゃくちゃ楽。
MySQL WorkBench
公式のMySQLクライアント。Javaでできてるので、UIがOSの標準提供とはちょっと違う。文字が滲む。(過剰なアンチエイリアスなのかな)。レスポンスもいまいち。そしてすぐに落ちる。コンテンツを開くまでの階層が深い。と、公式な割には使いづらい場面が多い。公式がいまいちだからこそ、SequelProのようなものが登場しているとも言える。
ただし、SSHトンネルもできるので、機能としてはSequelProと同等(というかそれ以上の機能)。だから「我慢して使う」というのも一つだが、こういうUIを我慢できちゃう人は他人にもダメなUIを強いるスタンスになっちゃいそうで教育上良くない。
chrome myadmin
Chromeアプリなので、インストール不要。
SSHトンネルで接続もできる。
(なぜか)私の環境では接続できるサーバーの数に上限ができてしまった。
エクスポート/インポート機能がない。リモートサーバーからサクッと現在のマスタをローカルマシンに持ってくるなんてことができないのが辛い。
エクセルに対するコピペができない。
DBeaver(たぶんこれが一番)
Java製。ちょっと動作はもっさり。MySQL Workbenchほどではない。何よりも「文字がにじまない」という時点で、Java製アプリにしてはUIがしっかりしている。
機能としてはMySQL Workbenchなみに充実。SSHトンネルもできるし、データのインポート、エクスポ―トにも対応。
選択結果をコピーしてエクセルにも貼り付けれる。
SQLのコードアシストもある。
おそらくこれが一番。
Java製なので、イマドキのJava環境を入れるのがコツがいる。(JREが単体で配布されてないことや、OpenJDKを入れましょうとか、イマドキならchocoでインストールするのが楽だけど、choco自体のインストールも準備が必要だとか)。
他にも、Google BigQuery にも接続できたりといろいろ便利そう。
Access リンクテーブル
SequelProの代替ソリューションとして一番近いのが、Accessのリンクテーブル。ただしデータベースやテーブル単位でリンク設定をいちいちしなくちゃいけない。さらにODBCドライバがイマドキはめちゃくちゃインストールが面倒。32bitと64bitをちゃんと使い分けなくちゃいけない。他人におすすめできるレベルではない。ボツ。
HeidiSQL
UIとしては、一通りカバーされている。ただしSQLのコード補完はない。SSHトンネルもない。手元のMySQLにつなぐだけの用途。
文字が滲む。どうも標準のUIツールキットを使ってなさそう。文字が滲んでいると、目がすごく疲れる。レンダリングという観点では、Electron製の方が良さそう。
Sqlectron
Eelectron製で文字のレンダリングは見やすい。
SQLのコード補完はあるが、テーブル名とカラム名を全てサジェストするだけで、どのテーブルのカラム名かはわからない。(ピリオドでフィールド名一覧を出して欲しいところ)
テーブルのエクスポート機能はない。
GUI上で、並び替え、where検索はできない。(全てSQLを書く必要がある)
機能としてはchrome myadminと同等なので、chrome myadmin で十分。
ElectroCRUD
Electron製のDBクライアント。MySQL以外もいけるみたい。
インストールしたけど、必ずデータベースを指定しないとサーバーにさえ繋いでくれない。rootでDBまたがって操作したい時(ローカルのMySQLはそういう使い方してる)には使えない。
DbVisualizer
試してない。
Navicat
有料?試してない。