MySQL

メモ_Flaskでmysql.connectorとpymysqlだとエラーハンドリングが失敗する

Flaskアプリで、Mysqlと接続して情報を表示するという単純な処理で、DB接続のエラーハンドリングが失敗する。 mysql.connectorではなく、pymysqlライブラリを利用するようにしたら解消した。。。mysql.connectorとpymysqlを一緒に使うとダメなのかな。 mysql…

メモ_Ubuntu22×MySQL8での自動起動設定

OSが起動した際に、MySQLを自動的に起動する、あるいは自動起動しないようにする設定方法のメモ。 手順 Ubuntu22は、systemd系の自動起動プロセスになっている(古いLinuxだとSysVinit系) 次のコマンドで、自動起動プロセスの一覧が確認できる。 systemctl li…

メモ_JupyterNotebookでtqdmを利用してプログレスバーを表示する

JupyterNotebookで処理時間が長いコードを実行する際、完了までどのくらいかかるか、どのくらい進行したかをリアルタイムでプログレスバーで表示したい場合、tqdmというライブラリを利用することができます。 pip install tqdm コード例: サンプルとして、My…

ipywidgetsを利用してJupyter notebook上でWebFormからMySQLを参照・更新するアプリを作る。

ipywidgetsライブラリを利用してJupyter notebook上でWebFormを直接実行するアプリが作れます。できるだけJupyter notebook(あるいはJupyter lab)から出ずに作業を続けたい場合などに便利です。データを可視化したグラフのパラメーターをリアルタイムに可変…

メモ_Python-FlaskとMysqlで構築したWebアプリでデータ参照をpandasに変えて高速化

データを表示するFlaskアプリを作っていたところ、数万件程度のレコードであれば一瞬で終わるので問題ないのですが、レコード数が数百万件程度になってくると、Webページの最初の表示が4秒ぐらいかかるようになります。 数百万件レコードに対するsqlクエリー…

メモ_Flaskアプリでキャッシュを有効にして高速化

Flaskを用いたWebアプリとかで、Flask-Cachingというパッケージを使ってキャッシュを有効することで高速化できます。 @cache~デコレータをつけるだけという、とてもシンプルな方法。以下メモ。 準備: Flask-Cachingをpipでインストール pip install Flask-C…

メモ_セキュリティー対策のためDB接続情報をコード外部に置く

手元でデータ前処理とかで使う場合は、面倒なのでコード中にDB接続情報を書いてしまったりするけど、外部に出すアプリなどのコードではあまりに怖いので、接続情報は外部化して安全にしておきたいですよね。 コンフィグファイルを使用する: テキストファイル…

メモ_Ubuntu22にMySQL8をインストール

MySQLのver 8系をUbuntu 22にインストールする際のメモ。 環境: ホストOS : Windows 11 Home VM : Virtaul Box 7.0.6 ゲストOS : Ubutnu 22.04.2 LTS 手順 : 古いMySQLが不要な場合は、以下のようにアンインストール。 sudo apt-get remove --purge mysql-se…

メモ_MySQLでのコマンド

MySQLの操作コマンドのメモ。Ubuntu22、MySQL 8 基本 ログインする sudo mysql -u root データベースの情報を確認する SHOW databases; データベースを作成する。 CREATE DATABASE データベース名; 利用するテーブルへ移動する USE テーブル名; テーブルの情…