Rumah > pangkalan data > tutorial mysql > Linux系统下mysql用shell脚本做备份_MySQL

Linux系统下mysql用shell脚本做备份_MySQL

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Lepaskan: 2016-06-01 13:10:44
asal
1064 orang telah melayarinya

对于linux系统下的mysql DB的数据备份,以下两种方法,第一种方法是只备份数据,将数据保存在文本文件中;第二种方法是将整个DB备份,生成SQL文件,在DB恢复时较方便,当然,如果需要,也可以对个别表进行备份。

方法一:

#!/bin/bash#DB服务器IPDB_HOST="127.0.0.1"#database nameDB_NAME="mysql"#database usernameDB_USER="USER"#database passwordDB_PASS="password"#需要备份的表名TBL_NAME_1=user#需要备份的表名TBL_NAME_2=db#当前日期时间字符串 例:2010-12-20-10-12-30  (年月日时分秒)DATE=`date +%Y-%m-%d-%H-%M-%S`#执行mysql命令的参数SQL_OPT="-u$DB_USER -p$DB_PASS -h $DB_HOST $DB_NAME"/usr/bin/mysql $SQL_OPT << EOF#将单个表的数据导出到文件中,#FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '/n' 这些选项是把数据用逗号分隔,双引号引起来,换行用/n;如果不用,可以将这些选项删除。select * from $TBL_NAME_1 into outfile "/tmp/bakfile/$TBL_NAME_1.$DATE.txt" FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '/n';select * from $TBL_NAME_2 into outfile "/tmp/bakfile/$TBL_NAME_2.$DATE.txt" FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '/n';quitEOFecho 'Backup success'
Salin selepas log masuk

方法二:

#!/bin/bash#DB服务器IPDB_HOST="127.0.0.1"#database nameDB_NAME="mysql"#database usernameDB_USER="USER"#database passwordDB_PASS="password"#当前日期时间字符串 例:2010-12-20-10-12-30  (年月日时分秒)DATE=`date +%Y-%m-%d-%H-%M-%S`#bakup file absolute pathBAKUP_FILE=/tmp/bakfile/$DB_NAME-$DATE.sql#执行mysqldump命令的参数SQL_OPT="-u$DB_USER -p$DB_PASS -h $DB_HOST $DB_NAME"#执行备份,整个DB所有表的备份,SQL语句的形式/usr/bin/mysqldump --opt $SQL_OPT > $BAKUP_FILEecho 'Backup success。'
Salin selepas log masuk


Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan