MySQL
https://gyazo.com/05e1c2501b3fe1e25bfbdcb3f449981c
Oracleによる買収が行われる際にフォークされたMariaDBがあり、ある程度互換性がある 現在実行されているプロセスを確認する
code:sql
# 簡易的にプロセスを一覧する
show processlist;
# 実行中のプロセスの詳細を一覧する
show full processlist;
指定のプロセスを終了する
code:sql
kill <PID>;
結果を縦に表示する
末尾を ; ではなく \G で実行すると縦に表示される。もしくは mysql-cli 起動時に -E オプションを使用する。
code:sql
SELECT * from 'table-name'\G
指定データベース/テーブルの生成用SQLを得る
code:sql
-- データベースの場合
SHOW CREATE DATABASE 'service-name';
-- テーブルの場合
SHOW CREATE TABLE 'table-name';
既存のユーザーの権限設定用SQLを得る
code:sql
SHOW GRANTS FOR 'user'@'host'\G
指定ユーザーの同時接続数を設定する
code:sql
-- 指定ユーザーの同時接続数を設定する
GRANT USAGE ON *.* TO '<USERNAME>'@'<REMOTEADDR>' WITH MAX_USER_CONNECTIONS <NUM>;
-- 変更を反映
FLUSH PRIVILEGES;
スローログの要約
該当のクエリを /var/lib/mysql/mysql-slow.log などを確認し、実行されたクエリの参照した行数や、一時テーブルの扱いなどを確認すると良い。
code:sh
# クエリー時間でソートして先頭10件を表示
mysqldumpslow -t 10 -s t /var/lib/mysql/mysql-slow.log
MySQL4でのmysqldump
MySQL4系のデータベースは 5.1以降の mysqldump でダンプできないので mysqldump 10.11 (for MySQL5.0)が必要。 バイナリはスタティックリンクされているので大抵のLinux環境であれば使用できるはず MyISAMについて
MyISAMはかつてデフォルトで採用されていたデータベースエンジン。 キャッシュなどの仕組みはOSがの持つファイルシステムに移譲されている。