【DBeaver】
"dbeaver no timezone mapping entry for 'auto-detect'"の解決方法
MySQLへの接続ができなかった時の話と解決方法
投稿日 2021/09/26 更新日 2021/09/26
こんにちは。当サイトの管理者「元木皇天」です。
先日、DBeaverでMySQLの新規接続先追加を行った時に謎のエラーメッセージ、dbeaver no timezone mapping entry for 'auto-detect'が表示されてしまい、接続ができなくなってしまいました。
今回はこの時の体験をもとに、僕が解決に至った方法を備忘録として残しておきたいと思います。
環境
OS:MacOS Big Sur
DBeaver:バージョン7.1.2
MySQL:8.0.26
事象発生前に行っていたこと
事象の解決法の前に、僕が"dbeaver no timezone mapping entry for 'auto-detect'"のエラーに至るまでに何を行ったかについて書いておこうと思います。
1.MacOSのアップデートが来ていたのでアップデートを行った
2.MySQLを起動しようと思ったらなぜか起動しなくなり、MySQLを再インストールした
3.MySQLが起動するようになった
4.MySQLとDBeaverを接続しようとしたらエラーになった
という感じです。
※前にも一度MacOSをアップデートしたらこんな感じになったので、MacOSのアップデートもうやめようかな。。
エラーの解決方法
エラーの解決方法ですが、結論から言いますとdbeaver.iniへ値を追加することで解決します。
では、さっそく手順をご紹介します。
1.DBeaver.iniを開く
ターミナルを開いて、下記コマンドで/Applications/DBeaver.app/Contents/Eclipseを開きます。その後dbeaver.iniが存在することを確認してください。
cd /Applications/DBeaver.app/Contents/Eclipse ls -l
その後、下記vimコマンドでdbeaver.iniを開いてください。
vim dbeaver.ini
2.DBeaver.iniを編集する
vimでDBeaver.iniを開くと以下のような内容が表示されると思います。
ここの最後に行を追加します。
まず、vimをINSERTモードにするために以下の以下のキーを入力します。
i
"i"を押下するとINSERTモードになるので、vimが編集できるようになります。
次に以下の行を追加してください。
-Duser.timezone=UTC -vmargs
その後、"escキー"を押下してINSERTモードを解除します。そして編集したvimを下記コマンドで保存します。
:wq
3.DBeaverを再起動する
iniファイルをDBeaver適用するために、DBeaverを再起動してください。
これでタイムゾーンを設定できて、"dbeaver no timezone mapping entry for 'auto-detect'"のエラーが解消されるはずです。
まとめ
DBeaver.iniに以下2行を追加する。
-Duser.timezone=UTC
-vmargs