読者です 読者をやめる 読者になる 読者になる

恥知らずのウェブエンジニア -web engineer, shameless

これは一歩を踏み出すことができない者たちのブログ

The difference of default charset when connect to mysql with php

When the monitors the product if use codeigniter,fuelphp that PHP framework by New Relic, execute query SET NAMES foo when every connect to mysql. This is not just problem, but execute when every connect and it was somehow eyesore, so I fi…

phpからmysqlに接続する際のデフォルト文字コードについて

PHPのフレームワークでcodeigniter,fuelphpなど使っているプロジェクトをnew relicで見てみると毎回DB接続の度にSET NAMES ~~~という文字コードを設定するクエリを毎回発行していました。 別にこれだけでどうってことはないのですが、毎接続時に発行されてい…

負荷かけず、ゆるやかにdrop tableを実行するスクリプトをつくってみた

稼働中のサービスで安全にdrop tableする方法 こちらで記載した内容のことを実行するスクリプトをつくってみました drop_table_gently READMEに記載してある通りですが、 DBの設定情報を記載したini,とdropしたいテーブルを羅列したcsvを用意すれば、それに…

続 サービス稼働中に不要なDBのテーブルを安全に削除する方法

前回の続編です。 youngforever.hatenablog.com 前回まで 前回はdropするテーブルのデータファイルにハードリンクを貼ることでdrop時にファイル削除されることを回避することができました。 しかしioniceで優先度を下げても、巨大なテーブルのデータファイル…

サービス稼働中に不要なDBのテーブルを安全に削除する方法

担当サービスのDBサーバーのディスク容量の空きが少なくなり、不要なテーブルを削除することになりました。 対象のテーブルのデータ量が多く、平常時でもそこそこ負荷のあるサーバーなのですが、 テーブル削除だけのためにメンテナンスをするのもアレなので…

mysql explain で出てくるSelect tables optimized awayって何ですか?

日次で開発環境で実行されたクエリにEXPLAINをかけて、危なそうなクエリを通知するようにしています。 そこでこんなんが出てきました mysql> EXPLAIN PARTITIONS SELECT MAX(`hoge_col`) AS total_count FROM `hoge_table`; +----+-------------+-------+---…

1分でできる!mysqlslapでDBのかんたん性能調査、ベンチマーク

業務中にそこそこ大きなスキーマ変更をすることになり、実際パフォーマンスに変化があるかベンチマークを取る必要が出てきました。 jmeterとかでごりょごりょとかしないとなのかーとか思ったのですが、 今回はスキーマ変更のみなので、単純にDBのみの測定で…

理論から学ぶデータベース実践入門を読んだメモ

理論から学ぶデータベース実践入門 ~リレーショナルモデルによる効率的なSQL (WEB+DB PRESS plus)作者: 奥野幹也出版社/メーカー: 技術評論社発売日: 2015/03/10メディア: 単行本(ソフトカバー)この商品を含むブログ (9件) を見る読んだので気になった点を…

Mackerelで3分で始める簡単サーバー監視~apache,mysql,redisとか監視~

前回に引き続きMackerel的なアレを。Mackerelで3分で始める簡単サーバー監視 - 恥知らずのウェブエンジニア Mackerelで3分で始める簡単サーバー監視 - 恥知らずのウェブエンジニア今回は監視対象にapache,mysqlなどのミドルウェアの状況を監視対象にしてみま…

SHOW TABLE STATUSのrowsは正確ではない!

もはやタイトルで終わりですが、メモ的に。 肥大化したテーブルの調査をしている時に、 SHOW TABLE STATUSでデータ件数を見てると件数が増えたり減ったりしてる・・・運用中のサービスなので、増えはしても減りはしないはず・・・調べるとInnoDBなどだと、SH…

もう一度向き合うmysql(5)〜文字コード、mysql workbenchなどとか〜

さらに前回に引き続き。 もう一度向き合うmysql(4)〜プロシージャー、ファンクションなどとか〜 - 恥知らずのウェブエンジニア今回でこの本は最後。MySQL徹底入門 第3版 ?5.5新機能対応?作者: とみたまさひろ,鶴長鎮一,舘山聖司,遠藤俊裕,坂井恵,班石悦夫,松…

もう一度向き合うmysql(4)〜プロシージャー、ファンクションなどとか〜

引き続き前回の続き。 information_schema テーブル/インデックスとかユーザの権限などの定義情報を保存しているテーブル。 自動的にできる。mysql5.0から導入された模様。詳細は割愛! ビュー SELECTの結果を仮想的なテーブルのように扱う。 CREATE VIEW ho…

もう一度向き合うmysql(3)〜phpからmysqlを操作〜

またまた続き。 もう一度向き合うmysql(2) - 恥知らずのウェブエンジニアMySQL徹底入門 第3版 ?5.5新機能対応?作者: とみたまさひろ,鶴長鎮一,舘山聖司,遠藤俊裕,坂井恵,班石悦夫,松信嘉範出版社/メーカー: 翔泳社発売日: 2014/03/25メディア: Kindle版この…

もう一度向き合うmysql(2)〜レプリケーションとか〜

前回の続き。 もう一度向き合うmysql(1) - 恥知らずのウェブエンジニア 引き続き、これをもとに自分用めもを。MySQL徹底入門 第3版 ?5.5新機能対応?作者: とみたまさひろ,鶴長鎮一,舘山聖司,遠藤俊裕,坂井恵,班石悦夫,松信嘉範出版社/メーカー: 翔泳社発売日…

もう一度向き合うmysql(1)〜ストレージ、設定、ログとか〜

これまでの見直し、再確認第一弾はmysqlを。といっても 関わってきたプロジェクトがkvs重視でmysqlはマスターデータ担当って感じで、 今まで困ったときに調べる程度で、ちゃんとやってきてませんでした。先の転職面接でも毎回mysqlのことは質問され詰まると…

複数のmysqlインストール、レプリケーション

業務内で1台のサーバーに複数のmysqlをインストールとそれらをレプリケーションを行ったのでメモ。 まずはデフォルトのポートでmysqlインストール //必要モジュールインストール yum -y install \ make.x86_64 \ cmake.x86_64 \ gcc.x86_64 \ gcc-c++.x86_6…

mysql起動できない><

mysqlをソースからインストールし、起動した際にエラーになったのでメモ。下記の流れで作業行いました。 cd /usr/local/src //訳あって今回はmysql-5.1.70をインストール wget http://downloads.skysql.com/archives/mysql-5.1/mysql-5.1.70.tar.gz tar zxf …