[user]$ mysql -u ユーザー名 -p データベース名
--xml -e "select * from テーブル名" > ファイル名
・HTML[user]$ mysql -u ユーザー名 -p データベース名
--html -e "select * from テーブル名" > ファイル名
[user]$ mysqldump -x --all-databases -u root -p > ファイル名
[user]$ mysql -u root -p < ファイル名
・データベース[user]$ mysqldump -u ユーザー名 -p データベース名 > ファイル名
[user]$ mysql -u ユーザー名 -p データベース名 < ファイル名
・テーブル[user]$ mysqldump -u ユーザー名 -p データベース名 テーブル名 > ファイル名
[user]$ mysql -u ユーザー名 -p データベース名 < ファイル名
・定期的なバックアップ実行[user]$ vim ~/backup/mysqldump.sh
#!/bin/sh # データベース名 DB=dbname # ユーザー名 USER=username # パスワード PW=password # 保存ディレクトリ DIR=${HOME}/backup # ファイル名 FILE="${DB}-`date +%y%m%d -d '1 days ago'`" # バックアップ /usr/local/mysql/bin/mysqldump \ -u ${USER} --password=${PW} ${DB} | gzip > ${DIR}/${FILE}.gz # ファイルのパーミッション変更 chmod 600 ${DIR}/${FILE}.gz
[user]$ chmod 700 mysqldump.sh
[user]$ crontab -e
0 0 * * * ${HOME}/backup/mysqldump.sh
[user]$ ls -lh ~/backup
-rw------- 1 user user 1K 3月 14 00:00 2015 dbname-150313.gz
ファイルへの出力権限、テーブルへの挿入権限の両方が必要
・エクスポートDB > select 列名, 列名 into outfile 'ファイル名(絶対パス)' fields terminated by ',' # 区切り文字 lines terminated by '\n' # 改行 from テーブル名;・インポート
DB > load data local infile 'ファイル名(絶対パス)' into table テーブル名 fields terminated by ',' # 区切り文字 lines terminated by '\n' # 改行 (列名, 列名); 動的な値を格納したい場合、列名に @ マークを付ける (列1, @列2, 列3) set 列2 = sysdate();