MySQL Workbenchでエクスポート時にmysqldump Version Mismatchが出る場合の解決策
はじめに
リモートサーバ上のMySQLデータベースの中身をちょっと確認したい時にMySQL Workbenchを使用しています。SSH経由での接続ももちろん可能で特に不満なく使えます。ただ、エクスポートする際に警告が表示されて解決に少しだけ時間かかってしまったので原因と解決手順をメモします。
環境と前提
ローカルのUbunu18.04上にインストールしたMySQL WorkbenchからSSH経由で接続したリモートサーバのMySQLデータベースをエクスポートした時に、「mysqldump Version Mismatch」という警告がでました。この警告を消すための手順をメモします。環境は以下です。
- ローカルPCのOS : Ubuntu18.04
- ローカルPCのMySQL : 末インストール
- リモートサーバのOS : Ubuntu18.04
- リモートサーバのMySQL : MySQL 5.7
- ローカルPCのMySQL Workbenchのバージョン : 8.0.15
エクスポート時に表示された警告の内容
MySQL WorkbenchからリモートサーバのMySQLデータベースに接続し、エクスポートしようとしたところ、「mysqldump Version Mismatch」というタイトルで以下のようなメッセージが表示されました。
上記のメッセージ内容は、「MySQL Workbenchが使用するmysqldumpが対応しているMySQLのバージョンは8.0.15ですが、エクスポートしようとしているMySQLサーバのバージョンは5.7.25です。このバージョンの不一致があると、適切にデータがバックアップされない等の可能性があります。可能ならばMySQLのバージョンを揃えてください。」という内容になっています。 すなわち、このままでもエクスポートを実行できるが、何かしらのトラブルが起きるかもしれないと書かれています。
原因
警告メッセージの内容の通り、MySQL Workbenchで使用するmysqldump
が対応しているMySQLのバージョンと、エクスポート元であるリモートサーバのMySQLのバージョンが異なっていることが原因です。
mysqldump
は、簡単に言うとMySQLデータベースのバックアップ、復元(エクスポート、インポート)を行うためのコマンドになります。
そしてMySQL Workbenchとしては、mysqldump
が対応するMySQLおバージョンをエクスポート元のMySQLバージョンとあわせてほしいようです。
以降に解決策を載せます。
解決策
MySQL Workbenchで使用するmysqldump
が対応するMySQLのバージョンをリモートサーバのMySQLのバージョンと揃えることで解決できます。
具体的な手順としては以下になります。
- 1. リモートサーバのMySQLのバージョンと同じMySQLバージョンに対応する
mysqldump
をローカルPCにインストールする - 2. ローカルPCにインストールした
mysqldump
を使うようMySQL Workbenchの設定を変更する
上記手順をそれぞれ後述します。
1. リモートサーバのMySQLのバージョンと同じMySQLバージョンに対応するmysqldumpをローカルPCにインストールする
mysqldump
は、その他に色々なコマンドや便利ツールを含むmysql-client
というパッケージの中に含まれています。
したがって、Ubuntuで以下のようにリモートサーバのMySQLサーバのバージョンと同じ5.7のmysql-client-5.7
をインストールすることでこの手順は完了です。
$ sudo apt install mysql-client-5.7
実際に、上記コマンドを実行した後でmysqldump
のバージョンを確認してみると、以下のように表示されると思います。
$ mysqldump --version
mysqldump Ver 10.13 Distrib 5.7.25, for Linux (x86_64)
mysqldump
自体のバージョンが10.13
で、mysql-client
のバージョン、すなわち対応するMySQLのバージョンががDistrib 5.7.25
になっていることを確認できます。
2. ローカルPCにインストールしたmysqldumpを使うようMySQL Workbenchの設定を変更する
あとはMySQL Workbenchの設定から、インストールしたmysqldump
のパスを指定します。
インストールしたmysqldump
のパスは、以下のコマンドで確認できます。
$ which mysqldump
/usr/bin/mysqldump
次にMySQL Workbenchを起動し、メニューの「Edit」→「Prederences...」をクリックします。クリックすると以下の様なウィンドウが開くので、以下のように「Administration」を選択します。 さらに「Administration」の「Path to mysqldump Tool」の右端にある「...」をクリックします。(以下画像内の赤矢印先)
すると、以下のようにファイル選択ウィンドウが表示されるので、ここでmysqldump
を選択し、「開く」をクリックします。ただし、このウィンドウの見え方は各環境によって多少異なる可能性があります。
mysqldump
を選択すると、以下のように「Path to mysqldump Tool」に選択したmysqldump
のパスが表示されます。最後にウィンドウ右下の「OK」をクリックします。
以上で作業は完了です。
エクスポートしてみる
上記作業後、実際にエクスポートしてみると、警告は表示されずに以下のような画面が表示され無事にエクスポートできると思います。
まとめ
MySQL Workbenchで同じような警告が表示されて気になった方の助けとなれば幸いです。
関連記事
- 公開日:2020/02/10 更新日:2020/02/10
UbuntuをmacOSのCatalinaっぽい見た目にする
UbuntuのデスクトップをmacOSのCatalinaっぽくするためのカスタマイズ手順をまとめます。
- 公開日:2020/01/20 更新日:2020/01/20
MySQLでrootのパスワードを忘れたりログインできなくなった場合の対処方法
MySQLのrootのパスワードを忘れてしまいrootでログインできなくなってしまいましたが、rootのパスワードを再設定することができたのでその手順をまとめます。
- 公開日:2019/12/31 更新日:2019/12/31
How to update Ubuntu's Kernel only
This article show you how to update Ubuntu's kernel using ukuu(Ubuntu Kernel Update Utility).
- 公開日:2019/09/10 更新日:2019/09/10
Ubuntuで/var/cache/apt/archives/パッケージ名の処理中にエラーが発生した場合の対処法
Ubuntuで「dpkg: アーカイブ /var/cache/apt/archives/パッケージ名.deb の処理中にエラーが発生しました」、「Sub-process /usr/bin/dpkg returned an error code (1)」というエラーが共にでました。ここのエラーの解決策をまとめます。
- 公開日:2019/09/09 更新日:2019/09/09
CSVファイルをMySQLにインポートするSQL文
CSVファイルをMySQLにインポートするSQL文をよく使うのでこのSQL文についてメモします。