MySQLの履歴

データベース

フリーで軽くて、なんだかわからないデータを投入しても無視して走り続けたり(ストリクトモードじゃない場合=デフォルト)してくれるのでなんていうかデータベースの安物っていうイメージがあります。ごめんなさい。

オープンソースデータベースには他にPostgreSQLとかがあります。

注意すべきこと


SQL上で整数値の閾値を越えて足したり引いたりすると値がオーバーフローする。エラーは出ない。

Perlを使っているような人は要注意!

例:UNSIGNED INT の値で、0 から 1 を引くと、4294967295になる。

知っておくと幸せになれる。。


ページャーを less コマンドに設定する。-S オプションで横スクロール!

mysql> \P less -S

データベースのファイル


多くの場合、

/var/lib/mysql


に、データベース名のサブディレクトリとして保存されている。

開発機でバックアップを取るのに適当な名前(xxxx_bakみたいな感じ)を付けて保存したらその名前の新しいデータベースが作られてて驚いた。

多分、データベースの権限をロールに設定したらそのまま使えるんだと思う。(試してない)

バックアップ


ちなみに、データベースが起動中の場合のバックアップはmysqldumpとかを使った方がいい。

データベースが動いているときにコピーすると多分データベースが壊れる。

開発機などで、データベースを止めてもいい場合には、

/var/lib/mysql

を直接コピーした方が速いのでお勧め。