Archive for 11月, 2013

mysqlの初心者小ネタ

金曜日, 11月 22nd, 2013

少しハマッたのでメモ

 

mysqlのqueryでシングルクォートとバッククォート使い分けてますか?

エラーがでるまで、シングルクォートしか使ってなかったので、困ってはいませんでした。

 

複数DBの全てのテーブルに許可を与えたいときにsyntaxエラー吐いてました。

GRANT SELECT, INSERT, DELETE, CREATE, DROP ON ‘hoge_moge%’.* TO foo@’localhost’;

これが間違いの始まりでした。

正しくは

GRANT SELECT, INSERT, DELETE, CREATE, DROP ON `hoge_moge%`.* TO foo@’localhost’;

違いが分るでしょうか。

データベースとホストどちらもシングルクォートで括っていますね。

どのように使い分けるかといいますと

・テーブル、フィールドはバッククォート

・値はシングルクォート

 

もうひとつMERGEテーブルについて

上記で作成した

 

group by で複数カラムをグルーピングする場合はカンマで繋げます

因みに、対象となるカラムにNULLが入っている場合はグルーピングできずに結果が返ってこないので注意が必要です。

select date,hour from date where date=’2013-02-10′ group by date,hour;

 

 

grant all on *.* to hoge@’localhost’ identified password ‘C9EB6F0915B6B10A605685C24EBF68932A398E7C’;

ここにはいるパスワードってhash化されてるけどどうやって調べたらいいの?

mysql> select password(‘testdayo’);

+——————————————-+
| password(‘testdayo’) |
+——————————————-+
| *C9EB6F0915B6B10A605685C24EBF68932A398E7C |
+——————————————-+

こうやって調べます。

 

xbuildが捗りすぎる

火曜日, 11月 19th, 2013

tagomorisさんが公開されているxbuildというツールが捗りすぎる。

http://d.hatena.ne.jp/tagomoris/20130326

https://github.com/tagomoris/xbuild

 

利用できるバージョンの確認は

http://ftp.ruby-lang.org/pub/ruby/{1.8,1.9,2.0}などで。

リンクだけで手抜き。

zsh導入しました

火曜日, 11月 19th, 2013

ついにこの仕事を始めてから7年目にしてbashからzshへ乗り換えました。

ローカルのmacとvagrant、自宅サーバーをzshへ変更。

社内のデキる男達の.zshrcをぱくっていたのだけど私には閾が高く感じられ馴染めずにいました。

大体バインドが変態的なんですね。disってるわけではないです。

oh-my-zshを入れたら抵抗感無かったです。

bashから乗り換えるとちょっとしたコマンドが違ったりスクリプトの構文が違うのでだるいですが、

サーバー上に置くスクリプトはbashで書くので問題ありませんでした。

git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh
cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc 
プロンプトの見た目を現状とあまり変えないために一部変更
vi ~/.zshrc
- ZSH_THEME="robbyrussell"
+ ZSH_THEME="gianu"


tmuxを利用しているのでtmux.confにもログインシェルの指定をします。
set-option -g default-shell /bin/zsh

テキスト整形

水曜日, 11月 13th, 2013

ファイルの中がホスト名、シリアルのファイルだとします。 ホストに紐尽くように任意のデリミタで1行にしたい。 cat /tmp/sample.txt   sv223a.example.com NM2AS30066 sv224.example.com NM2AS30764 sv222.example.com NM2AS30765 sv225.example.com NM2AS30771 sv224a.example.com NM2AS30196 sv224.example.com NM2AS30197 sv225a.example.com NM2AS30076 sv223.example.com NM2AS30767 sv215.example.com NM25S38111

while read line ;do if [ ${#line} -gt 11 ];then echo $line |tr -d ‘\n’  ;else echo :$line;fi ;done < /tmp/sample.txt sv223a.example.com:NM2AS30066 sv224.example.com:NM2AS30764 sv222.example.com:NM2AS30765 sv225.example.com:NM2AS30771 sv224a.example.com:NM2AS30196 sv224.example.com:NM2AS30197 sv225a.example.com:NM2AS30076 sv223.example.com:NM2AS30767 sv215.example.com:NM25S38111   読み込んだ行の文字列が11文字以上だったら改行を削除してecho、マッチしなければコロン付きでechoをする。これで一行になりました。

Vimの覚書2

火曜日, 11月 12th, 2013

vimのレジスタで計算して挿入する

挿入モードに変更
レジスタコマンド実行
C-r
=<計算式> Enter

大文字・小文字の切り替え
gu lowerに変換
gU upperに変換
g~ low/upの切り替えトグル
全てモーションの入力待ちになるので何か打鍵が必要

リプレイスについて
小文字のrでカーソル上の文字を置換できる。
大文字のRで連続して置換できる。置換したあとはカーソルが自動で動いていく。

visualモード
v 文字指向モード
V  行指向モード
C-v ブロック指向モード

ビジュアルモード中にbでワード単位で前方に移動
ビジュアルモード中にeでワード単位で後方に移動
ビジュアルモード中にoで選択範囲の始点・終点を切り替えられる
vgで前回ビジュアルモードで選択した範囲を再度選択してくれる

tabの入れ方
挿入モードでtabキーを入れてもよいが<>で行頭にtabを入れることができる。

vit
Visually select Inside the Tag
タグの中身だけを範囲選択してくれる。htmlやxmlの確認などが楽になりそう。

rbenv ruby-buildについて

火曜日, 11月 12th, 2013

久しぶりにいじろうと思ったらインストールの方法も忘れてた。

gitが必須なので先インストールしておきます。

yum install git

 

## rubyのバージョンを切り替えたり、管理するツール

git clone git://github.com/sstephenson/rbenv.git ~/.rbenv

mkdir ~/.rbenv/plugins

## rubyを簡単にインストールするためのコマンド

git clone git://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
cd ~/.rbenv/plugins/ruby-build
sudo ./install.sh

 

cat <<‘EOF’ >> ~/.bashrc

export RBENV_ROOT=$HOME/.rbenv
export PATH=$RBENV_ROOT/bin:$PATH
eval “$(rbenv init -)”
EOF

source ~/.bashrc

### どのバージョンが使えるか確認

rbenv install -l

rbenv install 1.9.3-p448

### インストールできてるか確認。*がついているのが現在セットされているバージョン

rbenv versions
* system (set by /home/tamon/.rbenv/version)
1.9.3-p448

rbenv rehash

### インストールしたバージョンに切り替える

rbenv global 1.9.3-p448

 

 

knownhostsの管理

火曜日, 11月 5th, 2013

古くなったサーバーをクリーンインストールなどすると~/.ssh/knownhostsにゴミが溜まります。

そうするとSSHでの接続時にエラーが吐かれる様になってしまいます。

 

そこで掃除が必要になります。

今まではvim ~/.ssh/knownhostsとして不必要なホストを検索して削除して保存していました。

ところが、OSのバージョンが上がるとviで開いても中身が分からなくなります。

そうした際にssh-keygenを使います。

既存の利用方法としては秘密鍵と公開鍵の作成に使っていましたが、knownhostsの整理にも使えます。

 

・探す場合

ssh-keygen -F hoge.com

・実際に削除する場合

ssh-keygen -R hoge.com