mysql自动备份脚本
OS:ubuntu 8.04.1
mysql 5.0
1、脚本mysqlbak.sh
#!/bin/sh
DATE=`date +%Y-%m-%d`
olddate=`date +%Y-%m-%d -d "-2 days"`
mkdir /data/mysqlback/$DATE
rm -rf /data/mysqlback/$olddate
mysqldump --add-drop-table    test | gzip > /data/mysqlback/$DATE/test_$DATE.sql.gz
#FTP 自动上传
cd /data/mysqlback/$DATE
ftp   -i -n -v  <<EOF
open 127.0.0.1
user user_name user_passwd
binary
mkdir $DATE
rmdir $olddate   删除2天前的数据库目录以及数据文件
cd $DATE
mput *
EOF
 
注:mkdir /data/mysqlback/$DATE  以当前日期新建目录
     rm -rf /data/mysqlback/$olddate 删除前二天的目录和文件
该脚本能自动备份mysql test数据库,自动删除前二天的mysql test备份数据库。只保留最近二天的mysql数据库。
2、配置计划任务crontab  (每天凌晨05:00开始备份)
root@db14:~# crontab -l
# m h    dom mon dow     command
0 5 * * *    /data/mysqlback/mysqlbak.sh > /tmp/baksql.log 2>&1
修改mysql 用户密码
mysql>  update user set password=password(’新密码’) where user=’root’;
Query OK, 0 rows affected (0.00 sec)
Rows matched: 2 Changed: 0 Warnings: 0
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)