CentOS 6.8 每天自动备份 MySQL
2023-09-14 09:16:40 时间
1、建立备份脚本 mysql_bak.sh
# 切换目录
cd /home/mysql
# 添加如下内容
vim mysql_bak.sh
#!/bin/bash
# 只导出数据
mysqldump -uroot -proot database | gzip > /home/mysql/mysql_$(date +%Y%m%d_%H%M%S).sql.gz
# 导出所有(结构&数据&存储过程&函数&事件&触发器)
mysqldump -R -E -uroot -proot database | gzip > /home/mysql/mysql_$(date +%Y%m%d_%H%M%S).sql.gz
# 删除30天前的数据(注意{}与\之间有空格,末尾分号不能丢)
find /home/mysql/ -mtime +30 -name "*.sql.gz" -exec rm -rf {} \;
# 添加执行权限
chmod +x mysql_bak.sh
2、添加计划任务
# 安装 crond
yum install vixie-cron crontabs
# 添加开机启动
chkconfig --level 35 crond on
# 启动计划任务
service crond start
# 查看任务
crontab -l
# 添加任务
crontab -e
# 每天23点30分运行脚本
30 23 * * * sh /home/mysql/mysql_bak.sh
# 每12小时执行一次脚本
1 */12 * * * sh /home/mysql/mysql_bak.sh
3、还原mysql
# 解压sql.gz
gunzip mysql_*** #解压得到sql文件
mysql -uroot -proot -f database < /home/mysql/mysql_***.sql
4、mysql备份表,还原表数据和结构
# 备份student表
mysqldump -uroot -pMysync@123 school student > /home/student.sql
# 恢复student表
mysql -uroot -pMysync@123 school < /home/student.sql
相关文章
- Navicat Premium连接MySQL 1251错误和Mysql初始化root密码和允许远程访问
- MySQL数据类型 int(M) 表示什么意思?详解mysql int类型的长度值问题
- Linux/CentOS下开启MySQL远程连接,远程管理数据库
- navicat异常 - 1130-host ... is not allowed to connect to this MySql server
- [MySQL] FULL-TEXT Search. 1 Syntx & fulltext-natural-language
- Nginx 1.5.2 + PHP 5.5.1 + MySQL 5.6.10 在 CentOS 下的编译安装
- centos下加入mysql环境变量
- mysql: command not found
- 【转载】mysql dual 虚拟表
- MySQL--执行mysql脚本及其脚本编写
- MySQL运维---多实例
- MySQL使用精确匹配和范围查询的效率差别
- Atitit Mysql查询优化器 存取类型 范围存取类型 索引存取类型 AND or的分析
- CentOS下MySQL安装后配置和设置
- 〖Python 数据库开发实战 - Python与MySQL交互篇②〗- SQL 注入攻击案例
- MySQL 异常有这一篇就够了!
- Mysql连接报错:1130-host ... is not allowed to connect to this MySql server如何处理
- MySQL 聚簇索引和非聚簇索引 & mysql 索引为啥用b 树
- mysql float double 类型
- Mysql 5.7 故障恢复处理记录
- MySQL-mysql 8.0.11安装教程 windows
- crly-shell centos/windows服务器,Mysql数据库表结构损坏
- MySQL主从复制架构实践:主从不同步的解决方案