※ Ysoi はこの項目の検証はVine Linux4.1標準のMySQL5.0系でしか行っていませんので、それ以前のバージョンで行う場合は
テスト用にDBを作成して、検証を行ったうえでバックアップを行ってください。
DBの文字コードを無変換で取り出す様に設定する |
ここではmysqldumpを行う際に--default-character-set=binaryと打たなくていいように設定ファイルで設定しておく
# vi /etc/my.cnf ← 設定ファイル編集 i キー(入力モード) [mysqldump] ← mysqldumpの項目に下記を追記する default-character-set = binary ← 追記 記載したら Esc キー(コマンドモード):wqで保存 # /etc/init.d/mysql restart ← 設定後はMySQLを再起動 |
DBを手動でバックアップと復元 |
xxxxxの部分はMySQLのrootのパスワード dbname の部分はDB名 全DBのバックアップを行う場合 # mysqldump -u root -pxxxxx --all-database > mysql.sql 全DBの復元を行う場合 # mysql -u root -pxxxxx < mysql.sql 全バックアップファイルから個別のDBを復元する場合 # mysql -u root -pxxxxx dbname < mysql.sql 個別でDBのバックアップを行う場合 # mysqldump -u root -pxxxxx dbname > dbname.sql 個別のバックアップファイルから個別DBを復元する場合 # mysql -u root -pxxxxx dbname < dbname.sql |
DBのみ自動でバックアップ |
※ サーバーのバックアップと一緒にDBのバックアップを行いたい場合は、次項目を参照して下さい。
# mkdir /var/mysql_bkup ← バックアップ先ディレクトリ作製 # vi mysql_bkup.sh ← バックアップスクリプトを作成 i キー(入力モード) #!/bin/sh LIST="/root/mysql.sql" ← バックアップリストに /root/mysql.sql を指定 ROOTPASS="xxxxxx" ← xxxxxの部分にMySQLの root のパスワードを指定 mysqldump -u root -p$ROOTPASS --all-database > mysql.sql mkdir -p /var/mysql_bkup tar czvfP /var/mysql_bkup/mysql.tar.gz $LIST > /var/log/mysql_bkup.log chmod 600 /var/log/mysql_bkup.log 記載したら Esc キー(コマンドモード):wqで保存 # chmod +x mysql_bkup.sh ←バックアップスクリプトに実行権限を付加 バックアップのテスト # ./mysql_bkup.sh ← スクリプトを実行 # ls -l /var/mysql_bkup/ ← バックアップファイルの確認 -rw-r--r-- 1 root root 111021 9月14日 16:24 mysql.tar.gz ← これがあればOK Cronに登録 # crontab -e ←Cronの編集 移動したら i キー(入力モード) 00 03 * * * /root/mysql_bkup.sh ← 例ではスクリプトが毎日03時に実行される 記載したら Esc キー(コマンドモード):wq で保存 # /etc/rc.d/init.d/crond restart ← Cron を再起動 |
※ バックアップファイルからDBの復元はサーバー管理関連のバックアップから復元を参考に /root/mysql.sqlを復元させてから
このページを参考に手動でDBの復元を行って下さい。
DBとサーバーのバックアップを一緒に自動でバックアップ |
サーバー管理関連の自動バックアップの設定のスクリプト(bkup.sh)に追記してサーバーのバックアップと
一緒にDBのバックアップも行います。
# vi bkup.sh ← バックアップスクリプト編集 i キー(入力モード) #!/bin/sh LIST="/root/mysql.sql /home /var/log /etc" ← バックアップリストに /root/mysql.sql を追加 ROOTPASS="xxxxxx" ← 追記(MySQLの root のパスワードを指定) mysqldump -u root -p$ROOTPASS --all-database > mysql.sql ← 追加 mkdir -p /var/bkup tar czvfP /var/bkup/bkup.tar.gz $LIST > /var/log/bkup.log chmod 600 /var/log/bkup.log 記載したら Esc キー(コマンドモード):wqで保存 |
※ バックアップファイルからDBの復元はサーバー管理関連のバックアップから復元を参考に /root/mysql.sqlを復元させてから
このページを参考に手動でDBの復元を行って下さい。
Copyright c Vine Linuxで自宅サーバー. 2004 All Rights Reserved.