创建存放备份 sql 的文件夹
备份数据尽量存放在Linux单独挂载的磁盘上,保证数据可靠性。磁盘建议使用EXT4分区格式。
[root@localhost ~]# mkdir /sk/mysqlBackup
测试命令行备份数据库
[root@localhost ~]# /usr/bin/mysqldump --opt -uroot -pDbpasswd -h127.0.0.1 dbdata > /mysqlbackup/db_`date +%F`.sql
命令参数 | 说明 |
---|---|
-u root | root为mysql用户名 |
-p Dbpasswd | Dbpasswd为用户密码 |
-h 127.0.0.1 | 127.0.0.1连接数据库的地址 |
dbdata | 需要备份的数据库名 |
> /mysqlBackup/db_date +%F.sql | 存储到 mysqlBackup 目录下的xxxxx.sql 文件 |
测试完成后编写脚本
[root@localhost ~]# touch autobackup.sh
[root@localhost ~]# vim autobackup.sh
DB_USER="root"
DB_PASS="*********"
DB_HOST="172.18.12.50"
DB_NAME="skdata"
BIN_DIR="/usr/bin"
BCK_DIR="/sk/mysqlbackup"
DATE=`date +%F`
$BIN_DIR/mysqldump --opt -u$DB_USER -p$DB_PASS -h$DB_HOST $DB_NAME > $BCK_DIR/db_$DATE.sql
赋予执行权限
[root@localhost ~]# chmod +x autobackup.sh
将上面的备份脚本加入到 crontab 服务中,每天凌晨五点自动备份数据库
[root@localhost ~]# crontab -e
插入如下命令行:
00 05 * * * /bin/sh /sk/mysqlbackup/autobackup.sh
查看自动备份任务是否创建成功
[root@localhost ~]# crontab -l
导入命令
mysql -u用户名 -p密码 数据库名 < 数据库名.sql
#mysql -uabc_f -p abc < abc.sql