20200709のMySQLに関する記事は5件です。

Sequel Aceを使ってみる

macOS 用の MySQL クライアントとして Sequel Pro がありますが、2016年4月3日に 1.1.2 がリリースされて以降開発が停滞していました。そしてついに README.md に以下の文が掲載されました。

This project is currently not maintained. There is a community-supported fork called Sequel-Ace available on the Mac AppStore, please check it out!

Sequel Pro としての開発は停止し、以後はコミュニティによる Sequel Ace に移るということです。Sequel Ace は活発に開発が行われていて、現在は 2.1.1 がリリースされています。ということで、早速インストールして試してみました。

インストールは AppStore もしくは HomeBrew から行ます。簡単なので手順まではここでは説明しません。

起動した画面はこちらです。

スクリーンショット 2020-07-09 21.12.09.png

参考までに、Sequel Pro 1.1.2 の画面はこちらです。フォークしてまだ日が浅いから当たり前ですが、非常に似ていますね。

スクリーンショット 2020-07-09 21.12.06.png

大きく違うのは、Sequel Ace ではメニューが全て英語になっている点です。Preferences に言語選択はありませんし、そもそも Sequel Pro でも言語設定できませんので OS の言語設定をみていたのだろうとは思うのですが。英語になってちょっととっつきにくくはありますが、Sequel Pro の日本語は微妙なところもありましたので(truncate -> 切り捨て、など)、個人的には英語になってむしろわかりやすくなりました。

データベース選択で嬉しいのは、sys データベースが他のシステムデータベースと同じ並びに収まるようになったことでしょうか。

スクリーンショット 2020-07-09 19.58.49.png

個人的にとても嬉しいのが、フィルター条件を複数設定できるようになったことです。複数条件で絞り込むために毎回クエリを手で書いていたのですが、その苦労から開放されます。

スクリーンショット 2020-07-09 20.00.06.png

Sequel Pro で長らく問題になっていた、MySQL 8.0に対応していない問題と、ウィンドウを閉じるとアプリ全体が落ちてしまうという問題も解消されています。ただし、MySQL 5.5 以前のサポートは打ち切られたそうですので、古い環境を維持している場合には注意が必要ですね。

接続設定ファイル(*.plist)はそのまま読み込めましたので、Sequel Pro からの移行も容易ではないかと思われます。

最後に新旧のアイコンを並べたところをご紹介。

スクリーンショット 2020-07-08 15.37.58.png

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

mysqlclient インストールエラー解決策[Mac, Windows版]

はじめに

この記事ではmysqlclientのインストール時によく(ほぼ100%)発生するエラーの解決策について投稿します。

pip install mysqlclient  # エラー発生

筆者環境においてデータベースにMySQLを使っており、WebスクレイピングやDjangoで使用しています。特に、DjangoでMySQLをデータベースとして扱いたい時はmysqlclientは必須となっています。

Windwos、MacOSの両方で環境構築の経験があり、その度にこの問題に悩まされてきました。色々と解決策があり、試してみるが上手くいかないケースが沢山ありましたので、筆者経験の元ベストな解決策を共有したいと思います。

Windows

結論からいいますと、
wheelパッケージをダウンロードしてパッケージインストールして下さい。

以下サイトからwheelパッケージをダウンロードして下さい。
https://www.lfd.uci.edu/~gohlke/pythonlibs/#mysqlclient

注意点とし、各々の環境にあったバージョンをダウンロードして下さい。
筆者環境では「Python 3.8.0 64-bit」をインストールし使用していますので、

mysqlclient‑1.4.6‑cp38‑cp38‑win_amd64.whl

をダウンロードします。

エディタに「Visual Studio Code」をお使いの方は画面左下に表示されていますのでご確認してみて下さい。

Python 3.5 => cp35
Python 3.6 => cp36
Python 3.7 => cp37

32-bit =>win32
64-bit =>win_amd64

ダウンロードできましたら、ファイルがあるディレクトリに入りコマンドを実行してください。

筆者環境
pip install mysqlclient‑1.4.6‑cp38‑cp38‑win_amd64.whl

インストールできましたでしょうか?
できなかった方は、バージョンの確認をもう一度お願いします。

それでもできなかった方はごめんなさい。。。

今回の解決策はこちらのサイトを参考にさせてもらい筆者環境も解決することができました。

ちなみにですが、筆者は

「Build Tools for Visual Studio 2017」をインストールを行い、

error: Microsoft Visual C++ 14.0 is required.

Get it with "Microsoft Visual C++ Build Tools": http://landinghub.visualstudio.com/visual-cpp-build-tools

「'mysql.h':No such file or directory」の部分で諦めました。

_mysql.c(29): fatal error C1083: include

'mysql.h':No such file or directory

Mac

筆者環境では以下のエラーが発生した。

ld: library not found for -lssl

Macではターミナルを開き、順にコマンドを実行してください。

(1) xcode-select --install

(2) brew install mysql-connector-c

(3) sudo vim /usr/local/bin/mysql_config

    /libs="-L$pkglibdir"`と打ち、Enterを押す。

    Iを押し、INSERTモードに変更したことを確認して以下のように変更する。

  #変更前
  libs="-L$pkglibdir"
  libs="$libs -l "

  #変更後
  libs="-L$pkglibdir"
  libs="$libs -lmysqlclient -lssl -lcrypto"

  escを押し、INSERTモードを終了してから、:qsを押す。

(4) brew info openssl

  色々と出てきたと思いますが、Caveatsに注目してください。
  If you need to ...より以下のコマンドを実行してください。

  筆者環境でのコマンド
  `>> ~/.zshrc`部分は環境下によって変更することがあります。(~/.bash_profileなど)

  echo 'export PATH="/usr/local/opt/openssl@1.1/bin:$PATH"' >> ~/.zshrc

  echo 'export LDFLAGS="-L/usr/local/opt/openssl@1.1/lib"' >> ~/.zshrc

  echo 'export CPPFLAGS="-I/usr/local/opt/openssl@1.1/include"' >> ~/.zshrc

(5) ターミナルを再起動し、`pip install mysqlclient`を実行する。

いかがでしょうか?無事インストールできましたでしょうか?

今回の解決策はこちらのサイトを参考にさせてもらい筆者環境も解決することができました。

終わりに

無事mysqlclientはインストールできましたでしょうか?
これからのMySQL Life を是非楽しんでください!

参考文献

Windows 解決策
https://shimi-dai.com/python-install-mysqlclient-on-windows/

Mac 解決策
https://stackoverflow.com/questions/51578425/mysqlclient-instal-error-raise-exceptionwrong-mysql-configuration-maybe-htt

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

mysqlclient インストール エラー解決策[Mac, Windows版]

はじめに

この記事ではmysqlclientのインストール時によく(ほぼ100%)発生するエラーの解決策について投稿します。

pip install mysqlclient  # エラー発生

筆者環境においてデータベースにMySQLを使っており、WebスクレイピングやDjangoで使用しています。特に、DjangoでMySQLをデータベースとして扱いたい時はmysqlclientは必須となっています。

Windwos、MacOSの両方で環境構築の経験があり、その度にこの問題に悩まされてきました。色々と解決策があり、試してみるが上手くいかないケースが沢山ありましたので、筆者経験の元ベストな解決策を共有したいと思います。

Windows

結論からいいますと、
wheelパッケージをダウンロードしてパッケージインストールして下さい。

以下サイトからwheelパッケージをダウンロードして下さい。
https://www.lfd.uci.edu/~gohlke/pythonlibs/#mysqlclient

注意点とし、各々の環境にあったバージョンをダウンロードして下さい。
筆者環境では「Python 3.8.0 64-bit」をインストールし使用していますので、

mysqlclient‑1.4.6‑cp38‑cp38‑win_amd64.whl

をダウンロードします。

エディタに「Visual Studio Code」をお使いの方は画面左下に表示されていますのでご確認してみて下さい。

Python 3.5 => cp35
Python 3.6 => cp36
Python 3.7 => cp37

32-bit =>win32
64-bit =>win_amd64

ダウンロードできましたら、ファイルがあるディレクトリに入りコマンドを実行してください。

筆者環境
pip install mysqlclient‑1.4.6‑cp38‑cp38‑win_amd64.whl

インストールできましたでしょうか?
できなかった方は、バージョンの確認をもう一度お願いします。

それでもできなかった方はごめんなさい。。。

今回の解決策はこちらのサイトを参考にさせてもらい筆者環境も解決することができました。

ちなみにですが、筆者は

「Build Tools for Visual Studio 2017」をインストールを行い、

error: Microsoft Visual C++ 14.0 is required.

Get it with "Microsoft Visual C++ Build Tools": http://landinghub.visualstudio.com/visual-cpp-build-tools

「'mysql.h':No such file or directory」の部分で諦めました。

_mysql.c(29): fatal error C1083: include

'mysql.h':No such file or directory

Mac

筆者環境では以下のエラーが発生した。

ld: library not found for -lssl

Macではターミナルを開き、順にコマンドを実行してください。

(1) xcode-select --install

(2) brew install mysql-connector-c

(3) sudo vim /usr/local/bin/mysql_config

    /libs="-L$pkglibdir"`と打ち、Enterを押す。

    Iを押し、INSERTモードに変更したことを確認して以下のように変更する。

  #変更前
  libs="-L$pkglibdir"
  libs="$libs -l "

  #変更後
  libs="-L$pkglibdir"
  libs="$libs -lmysqlclient -lssl -lcrypto"

  escを押し、INSERTモードを終了してから、:qsを押す。

(4) brew info openssl

  色々と出てきたと思いますが、Caveatsに注目してください。
  If you need to ...より以下のコマンドを実行してください。

  筆者環境でのコマンド
  `>> ~/.zshrc`部分は環境下によって変更することがあります。(~/.bash_profileなど)

  echo 'export PATH="/usr/local/opt/openssl@1.1/bin:$PATH"' >> ~/.zshrc

  echo 'export LDFLAGS="-L/usr/local/opt/openssl@1.1/lib"' >> ~/.zshrc

  echo 'export CPPFLAGS="-I/usr/local/opt/openssl@1.1/include"' >> ~/.zshrc

(5) ターミナルを再起動し、`pip install mysqlclient`を実行する。

いかがでしょうか?無事インストールできましたでしょうか?

今回の解決策はこちらのサイトを参考にさせてもらい筆者環境も解決することができました。

終わりに

無事mysqlclientはインストールできましたでしょうか?
これからのMySQL Life を是非楽しんでください!

参考文献

Windows 解決策
https://shimi-dai.com/python-install-mysqlclient-on-windows/

Mac 解決策
https://stackoverflow.com/questions/51578425/mysqlclient-instal-error-raise-exceptionwrong-mysql-configuration-maybe-htt

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

ついにSequel Proの後継アプリ登場!Sequel AceでMySQLに接続する

ついにSequel Proの後継アプリ登場!Sequel AceでMySQLに接続する

Sequel Proの正式版がMySQL8.0に対応しないまま月日が流れ...

ついに Sequel Pro に続く、MySQL・MariaDBデータベースを操作するための高速で使いやすいMacデータベース管理アプリケーションが登場しました!!

Sequel Ace

68747470733a2f2f73657175656c2d6163652e636f6d2f696d616765732f61707049636f6e2d313032342e706e67.png

https://sequel-ace.com
https://github.com/Sequel-Ace/Sequel-Ace

応援したい人はぜひコントリビューターに!

料金

  • 無料

動作環境

  • macOS >= 10.10
  • MySQL >= 5.6
  • MariaDB

インストール方法

Homebrew からインストール

$ brew install mas-cli/tap/mas
$ mas install 1518036000 # Sequel Ace

App Store からインストール

https://apps.apple.com/us/app/sequel-ace/id1518036000

試しにMySQLへ接続

ScreenShot 2020-07-09 11.33.26.png

ScreenShot 2020-07-09 11.53.58.png

MySQL 8.0.19 に接続してみました。
UIもSequel Proと変わらなくて使いやすいです?

参考

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Mysql2::Error::ConnectionErrorを解決します

環境/バージョン

ローカルでやってます
Ruby v2.5.1
Rails v5.2.4
MySQL v8.0.19

何が起こった?

railsプロジェクトを作成したあと、`rails s'してみたらこんなエラーに遭遇

Mysql2::Error::ConnectionError (Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)):

どうやって解決した?

エラー文からみてわかる通り「あ、MySQL」かとすぐわかります。

ConnectionErrorとあるので「繋がっていませんね〜」ってすぐわかります。

database.ymlを調べて見る。

default: &default
  adapter: mysql2
  encoding: utf8
  pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
  username: root
  password:
  socket: /tmp/mysql.sock

  ---以下省略---

ymlファイルのpasswordが抜けてる。
この間、MySQLにpassword設定するの忘れていたからでした。

以前までは設定してなかったのでなくても接続できていましたが、設定したのもあって今回はうまく繋がってくれなかったみたいです。

default: &default
  adapter: mysql2
  encoding: utf8
  pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
  username: root
  password: password #追記
  socket: /tmp/mysql.sock

この画面出るとホッとする。かわいい子供たち

スクリーンショット 2020-07-09 9.32.37.png

最後まで読んでくれてありがとうございました。
少してもお役に立てれば嬉しいです。

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む