ユーザの追加
また久々にPostgreSQLを使う必要に迫られた。
まずユーザの追加・・・パスワードを聞いてくれるようにするのはどうするんだったか・・・。
createuser -P
ユーザpostgresになって、-Pオプションをつけてコマンドを実行。
これで使用したいユーザ名、パスワード、データベース追加の可否、ユーザ追加の可否を問われるので答えるだけでいい。
また久々にPostgreSQLを使う必要に迫られた。
まずユーザの追加・・・パスワードを聞いてくれるようにするのはどうするんだったか・・・。
createuser -P
ユーザpostgresになって、-Pオプションをつけてコマンドを実行。
これで使用したいユーザ名、パスワード、データベース追加の可否、ユーザ追加の可否を問われるので答えるだけでいい。
先日の大雨&雷の影響で、我が家のサーバが落ちた。
今日まで気づかなかったのだが(普段使わないから当然わからないのだけれど)、データベースが動いてない!。データベースには請求処理関連の全データがはいっていて請求書が作れないし、決算が・・・(驚愕)。
しばし悩んだあと、バックアップがあることを思い出しだ(笑)。バックアップがあることはわかっていたけれど、新たにマシンを用意してインストール・復元する元気がなかったのでなんとか動くようにできないかと悩んでいただけだったのだが。
まずPostgreSQLのデータフォルダをきれいにして、データベースの初期化を実行(以下のコマンド)。
initdb –no-locale –encoding=EUC_JP -D /var/lib/pgsql/data
この状態でPostgreSQLが動くことを確認できた(ほっ)。
次にバックアップからの復元。実はつまんないことだけど、バックアップからの復元方法がわからなかった。だってpg_dumpall(データベース丸ごとバックアップ)から復元する機会なんてそうそうないですから・・・。検索してやっと見つけたよ。
psql template1 < data.dump
template1に対してレストアするのか・・・知らなかった。何はともあれ、これで復元完了。あと設定関連を以前のものに戻して無事復旧終了。つくづく「バックアップって必要なんだ」と思った瞬間であった。
MySQLで日付の計算をする場合の書式(何度やっても忘れてしまう・・・)。
date_add(‘2006-1-1 00:00:00′,INTERVAL 10 DAY)
MySQLで発行した全てのクエリをログにとる方法は、MySQL起動時に「–log」オプションをつけることだけ。RedHat系だと起動スクリプト「/etc/rc.d/init.d/mysqld」に記述する。ただし記述する位置に注意がいるみたいで、場所を間違うと起動しなくなってしまう。具体的にはこういう感じになっている。
—
/usr/bin/mysqld_safe –defaults-file=/etc/my.cnf –pid-file=”$mypidfile” >/dev/null 2>&1 &
上記の行に–logオプションをつければよいのだが、以下のように
—
/usr/bin/mysqld_safe –log –defaults-file=/
一番先頭につけると起動しない。二つ目以降に書くといいみたい。
—
/usr/bin/mysqld_safe –defaults-file=/etc/my.cnf –log –pid-file=”$mypidfile” >/dev/null 2>&1 &
これで/var/lib/mysql/以下に[ホスト名].logというファイルができ、そこに実行された全てのクエリが記録される。