👉 身为开发者,在开发过程中做好数据备份是非常重要的,一般情况下就是写个shell脚本定时跑,下面就是一个简单的备份脚本:
#!/bin/bash
#用户名
USER=your_db_username
#密码
PASSWORD=your_db_passwd
#数据库名
DATABASE=your_db_name
#mysqldump
# --ignore-table : 备份中需要排除的表的表名
DUMP="mysqldump -u${USER} -p${PASSWORD} --ignore-table=${DATABASE}.table_name --databases ${DATABASE}"
#如果目录不存在则进行创建
BACKUP_DIR="/data/backup/database"
if [ ! -d "${BACKUP_DIR}" ]; then
mkdir ${BACKUP_DIR} -p
fi
#执行备份
${DUMP} | gzip >${BACKUP_DIR}/${DATABASE}_$(date +%Y%m%d_%H%M%S).sql.gz
语法
mysqldump [选项]
选项
–add-drop-table:在每个创建数据库表语句前添加删除数据库表的语句;
–add-locks:备份数据库表时锁定数据库表;
–all-databases:备份MySQL服务器上的所有数据库;
–comments:添加注释信息;
–compact:压缩模式,产生更少的输出;
–complete-insert:输出完成的插入语句;
–databases:指定要备份的数据库;
–default-character-set:指定默认字符集;
–force:当出现错误时仍然继续备份操作;
–host:指定要备份数据库的服务器;
–lock-tables:备份前,锁定所有数据库表;
–no-create-db:禁止生成创建数据库语句;
–no-create-info:禁止生成创建数据库库表语句;
–password:连接MySQL服务器的密码;
–port:MySQL服务器的端口号;
–user:连接MySQL服务器的用户名。