MySQL

Diary

MySQL Workbenchの後継であるMySQL Shell for VS Codeを使ってみる

概要 MySQL Workbenchのサーバーをモニタリングする機能がVS Codeのプラグインとしてリリースされているようなので軽く動作を見てみます。 設定 ssh tunnelの設定は相変わらずうまく接続できなかった(MySQL Wor...
MySQL

UbuntuでMySQLを8.0.34から8.1.0へアップグレード。Innovation Releaseを使う設定。

背景 MySQL Innovation Day Tokyo 2023に行ってきました。(オフィスから徒歩8分なので楽!) 2023年7月18日 (今から約1ヶ月前)にMySQL初のInnovation Releaseが行われました。バージョ...
MySQL

SQLにおけるBETWEENの境界とカラムの小数精度に注意

BETWEEN句を使うときには境界と精度に気をつけましょう。これを知らないで書くと要件と違う結果が返される場合があります! BETWEEN句の境界 仕様 BETWEENの境界値は指定した2つの項を含みます。 BETWEEN AND 上のクエ...
MySQL

mysqlにてユーザを追加するときのクエリーテンプレ

概要 毎回ググってクエリーを作るのが面倒なのでメモ。ユーザを作って、そのユーザはあるDBのCRUDと、スキーマのmigrationを出来るようにするという最低限の権限を付与。 メモ 前提 ユーザ名: newuserパスワード: passwo...
docker

railsをdockerで構築して、Host ‘172.18.0.5’ is not allowed to connect to this MySQL server

概要 dockerをクリーンインストールしたら繋がらなくなった コードを追っていく必要あって、ちょっと面倒だった トレース 調べた流れ mysqlの権限が無くなっているっぽいから、docker-compose execして、mysqlの中身...
MySQL

久しぶりにmysqltuner

概要 mysqltunerは、MySQLの統計情報を使ってパフォーマンスチューニングのアドバイスをしてくれる。 最近はCVE(セキュリティ情報)も教えてくれるみたい。 調べた背景は、64GBのRAMが載ったApacheやbatchプログラム...
MySQL

MySQL 5.6 minor query optimizer tips

... date_add(NOW(), interval -60 day) < column 当たり前と言えば当たり前ですが、上記の検索はfull scanになっちゃうんですね。 左辺が変数に展開されるのかと思いきや、展開されないです。なの...
MySQL

MySQLでindexが効いていないクエリーを調査

以下で現在の設定を確認 mysql> show variables like 'log_queries_not_using_indexes'; mysql> show variables like 'query_cache_type'; i...
MySQL

MySQLはデータベースをまたぐトランザクションを行える

以下に検証結果
MySQL

REPLACE INTOとINSERT ON DUPLICATE KEY UPDATEの違い

概要 MySQLの独自拡張であるREPLACE INTOとINSERT ... ON DUPLICATE KEY UPDATEが似ている挙動しているので実験してみた。on MySQL 5.1 参考資料 12.2.6. REPLACE 構文1...