オープンソースSQLデータベースのMySQLをインストールしたときの手順。 MySQLについては日本MySQLユーザ会等を参照。
インストール
mysql-serverをインストールする。
設定
/etc/my.cnfを編集する。 編集するのはmysqldセクション、mysqldumpセクション。 また、clientセクションも追加する。 文字コードをUTF8で統一したいので、default-character-setでUTF8に設定している。
UTF8ではなく、他の文字コードがよければ、"show character set;"で表示される一覧から好きな文字コードを選べばよい。
ユーザーの設定
初期状態ではrootのパスワードが設定されていないので、適当にパスワードを設定する。 ついでに、一般ユーザを作成して匿名ユーザを削除する。 あと、デフォルトで登録されているデータベースも削除する。
これで終わり。 あとはrootや一般ユーザでログインできるかどうか確認する。
rootのパスワードを忘れた場合
rootのパスワードを忘れてしまった場合の再設定方法。
あとは再度パスワードを設定するだけ。
起動に失敗する場合
匿名ユーザを消してしまうと起動に失敗してしまうので、その場合は起動スクリプトの以下の行を編集する。
これで再度/etc/init.d/mysqld startすればうまくいく模様。
テーブルの内容をCSV形式で出力する
カラムを,(カンマ)で区切り、行末を\r\nで終端することで、CSVファイルを出力している。 出力先ディレクトリを明示的に指定しない場合は、/var/lib/mysqlに出力される。 また、ファイルの所有者はmysqlになっている。
データベースのバックアップ
以下の例では、testというデータベースに、testおよびsampleというテーブルが存在するものとする。
testデータベースの内容をバックアップ用ディレクトリにバックアップする。
ここで、backupディレクトリ下にtestというディレクトリが作成され、さらにそのディレクトリの下には以下のようなファイルが作成される。
.MYD, .MYI, .frmの三つ一組で1つのテーブルになっている。 この例では2つのテーブルをバックアップしたので二組作成されている。
データベースの復元
バックアップしたデータベースを復元する。 データベースの構成は先ほどと同じとする。
バックアップ先のディレクトリの内容を/var/lib/mysql/にコピーする。
コピーしたファイル・ディレクトリのオーナーとグループをmysqlにする。 パーミッションも設定する。
これで復元完了。 データベースが復元されているか確認する。
さらにselect * from sample;などしてテーブルの内容も確認して問題なければ復元完了。