それが僕には楽しかったんです。

ミドルウェアとかやってます

MySQL

MySQL を使った最高に頭の悪いポートフォリオを作った話

はじめに 技術スタック 作ったもの 仕組み 技術的な話 docker コンテナに対して何かを実行させる Redis を使ったキャッシュ MySQL User の権限を絞る デプロイ時の色々 おわりに はじめに JVM オプションをいい感じに比較してくれるサービスを作ったが、サブ…

CLion を使って MySQL のビルド&デバッグを行う

はじめに MySQL のビルド&デバッグをする ソースコードを持ってきて展開する CLion で CMake を実行する CMake Options Generation path ビルド デバッグ デバッグ設定の変更 ブレークポイントを設定 実行する mysql クライアントから接続する おわりに 余…

OSS にちょっと技術的な貢献するまでの流れ

はじめに やったこと プルリクエストを投げるまでの流れ 問題が見つかる 信頼できる情報をまとめておく リポジトリを fork する README を確認する。 Contributing Pull Requests Testing 過去にマージされた修正から傾向を掴む 問題箇所を修正する ブランチ…

MySQL 8.0.15 の前後で変わった文字列と DATE 型の比較について

はじめに 前提条件 謎現象を再現する 8.0.15 以下 8.0.16 以上 原理 文献 おわりに はじめに そういえば、最近この手の記事を書いてないし何ならインプットもしてない事を思い出し、今日雑にテストしてたらたまたまハマった面白い挙動があったのでまとめる。…

MySQL の docker コンテナを起動した時の warning, error を調べつくす

はじめに 問題のログ [Warning] [MY-011070] [Server] Disabling symbolic links using --skip-symbolic-links (or equivalent) is the default. Consider not using this option as it' is deprecated and will be removed in a future release. [Warning] …

MySQL 8.0.20 で導入された binlog transaction compression をハイパー雑に検証する

はじめに 前提環境と検証方法 リリースノートの文献 やってみた perfomance_shema をみてみる 余談 さいごに 2020/04/29 4:42 2020/04/29 11:43 2020/04/29 12:08 はじめに どうも、共通新人研修がビジネス職よりで割とコードとか書いている暇がなかったけん…

MySQL 8.0.19 と docker-compose 環境下で Single-Primary InnoDB Cluster を構築する

はじめに 環境 参考資料 InnoDB Cluster の構築 InnoDB Cluster とは 要件 MySQL Shell の導入 各サーバインスタンスの設定を修正する binlog_checksum enforce_gtid_consistency gtid_mode InnoDB Cluster の構築 オプションの類 *** ネットワーク周り grou…

MySQL 8.0.18 の実装を読み解きながら簡単なストレージエンジンを自作する

はじめに MySQL をビルドする ストレージエンジンを自作する Example エンジンをベースにする handlerton の作成とインスタンス化 テーブルを作成する 余談・気になったところ テーブルを開く INSERT の実装 ha_tina の存在 テーブルスキャン store_lock の…

MySQL のレプリケーション実装

はじめに レプリケーション実装 実装の詳細 おわりに はじめに どうも、年明けおもしろ荘を見ながらブログを書いているけんつです。 前にMySQL 8 と docker-compose を使ってレプリケーションを構築する記事を書いたのだけど、そこではただバイナリログのポ…

docker-compose を使って MySQL8 の レプリケーションを構築する

はじめに MySQL のレプリケーション レプリケーション形式 目的とする構成 成果物 Binary Log File Position Based Replication の構築 Master サーバの設定 Slave の設定 レプリケーションユーザを作成する 余談 レプリケーションマスターバイナリログのポ…

InnoDB におけるページとインデックスの物理的な構成について

この記事は「 けんつの1人 DBMS アドベントカレンダー Advent Calendar 2019 - Adventar 」 9日目の記事です。 はじめに 参考にしたサイト InnoDB のスペースファイルレイアウト ページ構成 FIL Header FIL Trailer Header, Trailer の構造的特徴 スペース…

既存の RDBMS のストレージがどのような仕組みになっているのか調べてみる

この記事は「 けんつの1人 DBMS アドベントカレンダー Advent Calendar 2019 - Adventar 」 8日目の記事です。 はじめに ここまで勉強してみて InnoDB を追っていく。 InnoDB のアーキテクチャ Adaptive Hash Index Buffer Pool Table Space OS Cache と Da…

MySQL の SubQuery と Join をハイパー雑にまとめていく

はじめに 開発環境 サンプルデータ 構造 余談 手元の環境を MySQL 5.7 から 8.0 に更新した話 MySQL 8.0 では認証プラグインが変更されている SubQuery 余談 JOIN INNER JOIN OUTER JOIN LEFT OUTER JOIN RIGHT OUTER JOIN 余談 さいごに はじめに どうも、…

MySQL の BLACKHOLE Engine とバイナリログを使ってリアルタイムにイベントをハンドリングする何かを作る

はじめに 何をやるか どうしてやるか BLACKHOLE Engine とは バイナリログとは 実装する MySQL (Master - Slave 構成) Golang 実装 これの辛い所 まとめ はじめに どうも、最近「FLASH」を見たいがために Hulu を契約したら意外と面白いコンテンツ多くてなん…

MySQLで大量のテストデータを用意したい

はじめに 環境構築 大量のデータをどうにかして用意する おわりに はじめに どうも、最近みたハクソーリッジという映画が最高に琴線に響いて何度も見ているけんつです最近、データベース周りの勉強をしてみようと思ったのですが何かが足りないことに気が付き…