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が行われました。バージョ...
Ruby on Rails

末尾の半角スペースで困惑:ActiveModelとMySQLの連携問題

概要 ActiveModelのuniqueがあるアトリビュートの末尾に半角スペースがあると挙動がおかしくなるケースがありました。 問題 以下のようにcodeがユニークなアトリビュートを定義してあるとします。 class Product < ...
Ruby on Rails

Rails + MySQL 8でngramを用いたfulltext index

Railsのmigrationで普通にfulltext indexを付ける場合には以下のようにすると思いますが、普通のfulltext indexではngramが使われないので日本語の全文検索をする場合には全然マッチしません。 class ...
AWS

このBlogのホスティングを自宅サーバからLightsailに移行しました

背景 自宅サーバで運用していましたが、Raidカードが壊れてOSが起動できなくなってしまいました。調達にも時間がかかるので、取り急ぎデータをサルベージしてどこかで動かす必要がありました。Lightsailが安いのでこの際に移行してしまいます...
docker

docker-compose経由でMySQLのデータをバックアップとリストア

Backup docker-compose run --rm app bash -c 'mysqldump -u root --password=${MYSQL_ROOT_PASSWORD} -h ${MYSQL_HOSTNAME} --a...
AWS

present in INFORMATION_SCHEMA’s INNODB_SYS_TABLES table but missing from TABLES table

概要 RDSをmysql 8.0にアップグレードしようとしたらエラー PrePatchCompatibility.logに以下のようなエラーが出ました。(xxxxxxxはデータベース名) 17) Schema inconsistencies...
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プログラム...