日常报表时中常常须要自动备份mysql数据库中的各类数据表,来简单的说一下如何在shell脚本下链接mysql数据库并备份mysql数据表。mysql
#!/bin/bash
HOST=127.0.0.1 #ip (127.0.0.1表示本机地址)
USER=LGL #数据库用户名
PASSWORD=123 #数据库密码
DATABASE=backup #数据库名
BACKUP_PATH=/home/lgl/bkdata #备份目录
logfile=/home/lgl/bkdata/data.log #记录日志
#链接mysql数据库
mysql -h $HOST -u $USER -p$PASSWORD -s $DATABASE <
drop table if exists test;
create table test (
id int(10) not null,
name varchar(10) not null
);
insert into test values(,'LiuBei'); //测试数据
insert into test values(,'GuanYu');
insert into test values(,'ZhangFei');
EOF
if [ $? -ne 0 ]
then
echo "Init data fail!">>$logfile
exit 4
fi
echo "Init data Successful!">>$logfile
#若是不存在备份目录就建立
if [ ! -d $BACKUP_PATH ]
then
mkdir $BACKUP_PATH
fi
#进入备份目录
cd $BACKUP_PATH
#导出数据表test到test.sql中
mysqldump -h $HOST -u $USER -p$PASSWORD $DATABASE test > test.sql
if [ $? = 0 ]
then
echo "test backup Successful!">>$logfile
else
echo "test backup fail!">>$logfile
exit 4
fi
注意:EOF中只能使用mysql语句。sql