プログラマ的京都生活

2011年06月14日

[][]プロセス調査

実践ハイパフォーマンスMySQLからの抜粋。


ポート番号からプロセスの特定

netstat -ntp | grep :37636

プロセスが所有している他のネットワーク接続情報を調べる。

netstat -ntp | grep 16072/apache2

プロセス情報を見る。

ps eaf | grep 'UID\|16072'

プロセスが開いているファイルを特定する。

lsof | grep 16072

もしくは

lsof -i -P | grep 16072

プロセス割り込み不能なスリープ状態にある理由などより詳しく調べたいとき

strace -p

gdb -p

2011年03月31日

[]MySQLはじめました

そもそもの操作になかなか慣れないので、よく使うコマンドを勉強がてらメモしていきます。


操作

MySQLに接続
mysql -u ユーザー名 -p
DB切り替え
use データベース名;

確認

接続情報確認(DBの文字コードなどの確認)
\s
ユーザー情報確認
select host, user, password from mysql.user;
DB情報確認
show databases;
show create database データベース名;
テーブル情報確認

テーブル一覧確認

show tables;

create table文確認

show create table テーブル名;

テーブルごとの状態確認

show table status;

カラム情報の確認

desc テーブル名;
インデックス
show index from テーブル名;

設定

  • MySQLでUTF-8を使用する場合、databaseだけでなくMySQL自身(つまりServer characterset)もUTF-8になってないければならない。
    • \sで確認できる。
    • /etc/my.cnfにcharacter-set-server = utf8の追加が必要

その他

  • ユーザーは、ユーザーID(ユーザー名 + ホスト名)で識別される。
    • よって、someone@localhostとsomeone@%は違うもののようだ。
  • テーブル名は大文字と小文字を区別する。

参考

http://www.bitscope.co.jp/tep/MySQL/quickMySQL.html