2012年12月4日火曜日

Mysqlでテーブルのコピー

test1テーブルの属性(AUTO_INCREMENTやインデックスなど)をtest2にコピー
CREATE TABLE test2 LIKE test1;


test1テーブルのデータをtest2にコピー

INSERT INTO test2 SELECT * FROM test1;

 
-------------------------------


カラム名の違うテーブルにデータをコピーする

コピーしようと思ったらカラム名が微妙に違う!なんていうのも無くはない。

その時はちょっとめんどくさいけどカラム名を指定してあげることでコピーできる。

INSERT INTO new_table (id, name, division) SELECT serial, name, section FROM original_table

ということは、コピー元にはないカラムも値を指定してあげれば、いける。

INSERT INTO new_table (id, name, division, sex) SELECT serial, name, section, 'male' FROM original_table


2012年11月17日土曜日

さくらraid状態チェック

#tw_cli info

冒頭のc数字がコントローラー番号

#tw_cli info c0

DEGRADEDで障害あり

2012年11月15日木曜日

サーバーがおかしいとき

1. topやsarで確認

2.logチェック

3.RAIDサーバーならraid監視チェック

4.slowquerylogチェック



httpdやmysqldのサービスを再起動

service mysqld restart
service httpd restart



サーバーリブート
reboot

2012年6月21日木曜日

正規表現+置換

 投資対効果の極めて高い、プログラムなんて分からない人のための「単純作業自動化」入門
 http://ryosukeishii.hatenablog.com/entry/2012/06/21/021503




•改行、タブなど特殊文字\n,\t,^,$
改行や、タブ区切りなどを表現するための特殊な記号が割り当てられています。 (次の2つはC言語などでもおなじみですね)
改行:\n
タブ区切り:\t
文の頭:^
文末:$
 たとえば
^1223\t
で検索すると、文頭すぐに1223があって、直後にタブがついているもののみヒットする、ということになります。

また、
検索:\n\n
置換:\n
で置換を行うと、改行が2つ入っているものを、1つにまとめる事ができるため

こんなふう↓ に
---------------
一行目テキスト

二行目テキスト

三行目テキスト

四行目テキスト
---------------
改行がたくさん入っているテキストを
こんなふう↓ に
---------------
一行目テキスト
二行目テキスト
三行目テキスト
四行目テキスト
---------------
改行を詰めることができます。
ちなみにこれを、
検索:\n
置換: (置換後は無し)
で置き換えると、
 --------------- 
一行目テキスト二行目テキスト三行目テキスト四行目テキスト
---------------
のように、文章からひとつも改行がなくなってしまいます。


また、
検索:\t
置換:,
のようにすると、タブ区切りのファイルを、カンマ区切りに変える事ができます。

2012年6月7日木曜日

slow queryログの設定

my.cnfに設定
vi /etc/my.cnf

[mysqld]に追加
log-slow-queries=/var/log/mysqld-slow.log
ログファイルを書き出す場所。

long-query-time=3
3秒以上かかったQueryを記録。
log-queries-not-using-indexes
インデックスを使わないQueryを記録。

MYSQL再起動
#/etc/init.d/mysqld restart


logrotate追加
vi /etc/logrotate.d/mysqld-slow.log

/var/log/mysqld-slow.log {
weekly
nocompress
missingok
}

ログをクリアする場合
# :> /var/log/mysql-slow.log

2012年4月10日火曜日

cronでphpファイルを実行する方法

■ cronで直接phpファイルを起動させる
15 1 * * * /usr/bin/php /var/www/test/test.php


■ phpのパスを確認するには
which php


■ cronでphpファイルが実行できない場合で、ブラウザからだと実行できる場合は
→phpファイル内の相対パスがおかしいことが多いので、絶対パスで記述してみるとか。
特にrequireやincludeなどで他のphpファイルを読み込む場合は注意


参考サイト
http://msbizit.blog28.fc2.com/blog-entry-1.html
http://codaholic.org/?p=101