MySQL WorkbenchからMariaDBに接続する

MySQL Workbenchはデータベースのクライアントソフトである。どちらかといえば、MySQL専用のクライアントソフトといっていい。では、MariaDBはMySQLと互換性が高いので接続できるかというと、そう簡単には接続できない。SSLで接続する必要がある。MySQL Serverをインストールして試したわけではないが、MySQLであればSSLでなくとも接続できると思われる。

今回はMariaDBにMySQL Workbenchを利用して接続してみた。接続環境は、Linux mint 20.3 MATE、MariaDB 10.7.3、MySQL Workbench 8.0.29である。

SSL設定しなくとも接続できるようになった。(2022/04/29)

SSL証明書の発行

MariaDBがSSL接続有効になっていないと、SSLを有効にしろといわれ、MySQL Workbenchから接続できない。MariaDBを実行して確認すると、have_sslの値がDisableになっている。この値をYESにする必要がある。

MariaDB [(none)]> show variables like '%have_ssl%';
+---------------+-----------+
| Variable_name | Value     |
+---------------+-----------+
| have_ssl      | Disable   |
+---------------+-----------+
1 row in set (0.003 sec)

MariaDB [(none)]>

証明書の発行については、「Website for Students」に詳しい。このサイトに書かれている手順でやればOKである。ここではあえて掲載しない。ただし、Ubuntuなので、Linux mintでも同じ方法で行えるが、ほかのLinuxやWindwos、MacなどのOSについてはわからないということを申し上げておく。上記のサイトで作成される証明書は1年(365日)である。1年超えた場合は再度作成すればいいだろう。

すべて設定し終わると、次のようになる。

MariaDB [(none)]> show variables like '%ssl%';
+---------------------+------------------------------------+
| Variable_name       | Value                              |
+---------------------+------------------------------------+
| have_openssl        | YES                                |
| have_ssl            | YES                                |
| ssl_ca              | /var/lib/mysql/pki/ca-cert.pem     |
| ssl_capath          |                                    |
| ssl_cert            | /var/lib/mysql/pki/server-cert.pem |
| ssl_cipher          |                                    |
| ssl_crl             |                                    |
| ssl_crlpath         |                                    |
| ssl_key             | /var/lib/mysql/pki/server-key.pem  |
| version_ssl_library | OpenSSL 1.1.1f  31 Mar 2020        |
+---------------------+------------------------------------+
10 rows in set (0.002 sec)

MariaDB [(none)]> 

MySQL Workbenchのダウンロードとインストール

ダウンロード

MySQL Workbenchの公式サイトからダウンロードする。

MySQL Workbenchの公式サイト
MySQL Workbenchの公式サイト

[ダウンロードはこちら ≫]をクリックする。

ダウンロードパージ
ダウンロードページ

「Select Operating System」はUbuntu Linux、「Select OS Verson」はUbuntu Linux 20.04 (x86, 64-bit)を選択する。2つのパッケージが表示されるが、ダウンロードするのは、サイズの小さい「mysql-workbench-community_8.0.29-1ubuntu20.04_amd64.deb」である。

インストール

.debパッケージなので、ダウンロードしたファイルをダブルクリックするか、右クリックして「GDebiパッケージインストーラで開く(O)」を選択する。インストール後はLinux mintメニューをクリックすると、プログラミングカテゴリーに登録されている。

MariaDBに接続する

MySQL Workbenchを最初に起動すると、下記のようなウィンドウが表示される。簡単に言うと、「サポートされていないOSだから問題が起きても自己責任だからね」(意訳)である。起動するたびに表示されるので、「Don’t show this message again」にチェックを入れておく。

サポートされないOSなので警告が表示される
サポートされないOSなので警告が表示される
MySQL Workbenchの起動画面
MySQL Workbenchの起動画面

「MySQL Connections」の右にあるアイコンをクリックして、接続セットアップする。

接続のセットアップ
接続のセットアップ

ここで入力するのは、「Connection Name」、「Username」、「Password」の3つである。このうち、「Username」はデフォルトになっているroot以外であれば入力する。「Default Schema」は、この接続が常に同じデータベースを使用する場合は、データベース名を入力する。

以上のこと踏まえて入力したのが下図である。booksdbというデータベースファイルがない場合は、「Default Schema」には入力しない。パスワードは「Store in Keychain…」をクリックして入力する。ここで入力しておくと、接続のたびにパスワードを入力する必要がない。

Password入力
Password入力
接続情報を設定
接続情報を設定

[Test Connection]をクリックすると、下図のような警告が表示されるが、[Continue Anyway]をクリックする。

接続警告がでるが問題はない
接続警告がでるが問題はない

接続情報に問題がなく下図のポップアップウィンドウが表示されると接続できている。

接続
接続

[OK]をクリックする。

設定した接続情報が登録されている
設定した接続情報が登録されている

新しく接続情報が登録されている。あとは、この部分をクリックする。もういちど、警告が表示されるが、「Don’t show this message again」にチェックを入れて次回からは表示しないようにしておく。

接続警告が出るが問題ない
接続警告が出るが問題ない

[Continue Anyway]をクリックする。クエリー画面が表示されるので、ここにSQL文を入力する。

クエリー実行画面
クエリー実行画面

SQLを入力する際は補完機能が働くので、入力が少し楽である。ただ、DBeaverのようにテーブル名まで補完はしてはくれないのは残念だ。

SQL補完機能で入力可能
SQL補完機能で入力可能

SQL実行するにはCtrl+Enterである。実行結果は以下のとおりになる。

SQLの実行結果
SQLの実行結果

以上で終わりである。

日本語化について

最後に日本語化について少しお話をしておく。日本語化もできるようだが、ファイルは6年前から更新が停止している。適用するには問題が発生すると思われるので、適用しないようにしたほうがいいだろう。日本語化の記事も検索すれば出てくるので、どうしても英語は嫌だという人はやってみるといいだろう。

Linux mintにインストールされたMySQL Workbenchのmain-menu.xmlは以下の場所に配置されている。このファイルのkey=”caption”属性の部分を日本語化すればいいようである。

/usr/share/mysql-workbench/data

日本語化する場合は、オリジナルは必ず残しておくようにする。問題が起きたときに復元できるようにしておくためである。また、オススメしているわけではないので、自己責任において日本語化していただきたい。