Server software

docker

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

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

TLS 1.1以下の対応を無くし、TLS 1.2と1.3だけを有効化

背景 PCI DSS 3.2では、SSLとTLS1.1は2018年6月28日までに無くさなければいけないと明示している。 Visaは2018年2月にTLS1.1以下を無効にする主旨を発表し、各プログラミング言語に応じた移行方法を出している。...
MySQL

久しぶりにmysqltuner

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

爆速!nginxを1分でHTTP2対応

背景 1分で実現できる有用な技術の12月22日分です 前提として、HTTP2のパフォーマンスはnginxでHTTP2接続(not spdy3.1)の検証などを参照していただければと思います。 テックブログをHTTP/2+PHP7+WordP...
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...
MySQL

Jet Profiler for MySQL

MySQLのクエリアナライザを使ってみた。昔も使ったことあるけど、ちょっとグレードアップしてて便利になった。 特に、slow queryの分析がめちゃくちゃ楽。
MySQL

SQLで期間の重複チェック

キャンペーン追加時に、登録済みのキャンペーンと重複あるかチェックするためのクエリ。 sprintf('((campaign_case_from BETWEEN %s AND %s) OR (campaign_case_to BETWEEN ...