在做项目的时候,经常会需要对数据库进行备份,基于Linux系统下的操作我还是第一次做,所以在网上查询了很多资料,分别参考了https://www.cnblogs.com/batsing/p/4938986.html 和 https://www.cnblogs.com/ityouknow/p/5923489.html的配置,探索的过程总是艰辛的,并不是那么一帆风顺,期间遇到了很多问题,下面我会给出脚本和在使用过程中遇到的问题。话不多说,直接看过程吧。
一、mysql提供了一个mysqldump的工具可以方便的导出导入数据库信息;
二、使用命令行shell测试执行mysqldump,理解必备的参数,查看生成的sql备份文件是否符合需求;
$BIN_DIR/mysqldump --opt -u$DB_USER -p$DB_PASS -h$DB_HOST $DB_ZFBM $DB_NAME $DB_TABLE > $BCK_DIR/db_$DATE.sql
脚本说明:
$BIN_DIR mysql备份地址
$DB_USER 数据库用户名
$DB_PASS 数据库密码
$DB_HOST 数据库地址(IP或者是localhost之类的)
$DB_ZFBM 字符集编码设置(这个很关键,解决导出文件中中文乱码)
$DB_NAME 数据库名称
$DB_TABLE 要备份的表名(如果只对单一表进行备份,可以加此字段,全库备份的可以省略掉)
$BCK_DIR/db_$DATE.sql 备份的地址和备份文件名称
三、下面是我亲自试验过得,在两位前辈的基础上加以修改过的脚本
#!/bin/bash
# Name:bakmysql.sh
# This is a ShellScript For Auto DB Backup and Delete old Backup
#
# Database info
DB_USER="root" #mysql login na