Home > Database > Mysql Tutorial > Linux系统下mysql用shell脚本做备份_MySQL

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

WBOY
Release: 2016-06-01 13:10:44
Original
995 people have browsed it

对于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'
Copy after login

方法二:

#!/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。'
Copy after login


source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template