もう一度向き合うmysql(1)〜ストレージ、設定、ログとか〜
これまでの見直し、再確認第一弾はmysqlを。
といっても
関わってきたプロジェクトがkvs重視でmysqlはマスターデータ担当って感じで、
今まで困ったときに調べる程度で、ちゃんとやってきてませんでした。
先の転職面接でも毎回mysqlのことは質問され詰まるところもあったので、
- 作者: とみたまさひろ,鶴長鎮一,舘山聖司,遠藤俊裕,坂井恵,班石悦夫,松信嘉範
- 出版社/メーカー: 翔泳社
- 発売日: 2014/03/25
- メディア: Kindle版
- この商品を含むブログ (1件) を見る
以下、もはや自分用メモ。
ストレージエンジンの種類
└その名の通り、データをメモリに収める。停止とかしたらもちろんデータは消える
- MERGE
└同じ形のMyISAMのテーブルを連結して、1つのテーブルのように扱う
└その名の通り、CSV形式でデータを保存。NULL使えない。
- ARCHIVE
└データをgzipで圧縮する。index,DELETE,UPDATE使えない
- BLACKHOLE
└自分ではデータを保存しない。
bin-logは出せるので、マスターにはデータは残さないが、スレーブに残すとかできる。
- FEDERATED
└リモートのmysqlサーバーのテーブルをローカルにあるように使える
トランザクションの種類
- READ UNCOMMITED
└同一トランザクション内でもまだコミットされてないデータも見てしまう
- READ COMMITTED
└同一トランザクション内でもコミットされたら、そのデータを見てしまう
- REPEAT TABLE READ
└同一トランザクション内なら、コミットされてもデータは変わらない
- SERIALIZABLE
└1つ1つ順番に処理されるが、そのためロックかかりやすい
SAVE POINT
└トランザクション内でsave point をつくって、いったんそこまで戻ることができる
mysql>BEBIN; mysql>INSERT ・・・; mysql>SAVEPOINT hoge; mysql>INSERT ・・・; mysql>ROLLBACK TO hoge;//hogeの状態まで戻る
pager
mysql> pager less mysql> nopager//解除
でもろもろ表示をlessで表示される
設定ファイル
- 設定ファイル読み込まれる順番
mysqlサーバーの状態確認
- status
└簡単な情報表示
- show global status
└詳細情報表示
- show variables
└変数、設定値表示
- show full processlist
└現在実行中のスレッド表示
各種ログ
- errorログ
log-error=/var/log/mysqld.log #的な my.cnfに
- slow queryログ
slow_query_log=ON slow_query_log_file=/var/tmp/slow.log long_query_time = 3 #的な my.cnfに
- generalログ
general_log=ON general-log-file=/var/tmp/sql.log #的な my.cnfに
- バイナリログ
log-bin=mysql-bin binlog_format=mixed #的な my.cnfに #mixedはsql文とsql文解析後のデータ両方取っておく指定
一旦今回はここまでー
後半へ続く。
感謝致します。