首页 > 数据库 >自动备份mysql数据库 - shell脚本

自动备份mysql数据库 - shell脚本

时间:2022-12-19 13:33:28浏览次数:31  
标签:脚本 shell DATABASE 备份 mysql SQL MYSQL 数据库

 

以下是自动备份mysql数据库的全过程:

  1. 使用mysqldump程序连接到MySQL服务器。
  2. 将指定的数据库存储到SQL文件。
  3. 压缩SQL文件以节省空间。

要使用此脚本,您需要修改脚本顶部的变量以匹配MySQL服务器、数据库和备份目录。

#!/bin/bash

# Variables
MYSQL_HOST="localhost"
MYSQL_USER="mysql_user"
MYSQL_PASSWORD="mysql_password"
MYSQL_DATABASE="database_name"
BACKUP_DIR="/path/to/backup/dir"

# Get current date and time
DATE=$(date +"%Y-%m-%d")

# Dump database to SQL file
mysqldump --host=$MYSQL_HOST --user=$MYSQL_USER --password=$MYSQL_PASSWORD $MYSQL_DATABASE > $BACKUP_DIR/$MYSQL_DATABASE-$DATE.sql

# Gzip SQL file
gzip $BACKUP_DIR/$MYSQL_DATABASE-$DATE.sql

要按计划自动运行此脚本,可以使用cron等工具。例如,要在每天凌晨2:00运行脚本,可以在crontab中添加以下行:

0 2 * * * /path/to/mysql-backup.sh

这将在每天凌晨2:00运行脚本。您可以通过修改脚本路径之前的值来自定义计划。有关如何使用cron的更多信息,您可以参考文档或在网上搜索教程。

 

标签:脚本,shell,DATABASE,备份,mysql,SQL,MYSQL,数据库
From: https://www.cnblogs.com/xlei/p/16991926.html

相关文章

  • mysql学习------二进制日志管理
    MySQL二进制日志(BinaryLog) a、它包含的内容及作用如下:   包含了所有更新了数据或者已经潜在更新了数据(比如没有匹配任何行的一个DELETE)   包含关于每个更新数......
  • docker-部署mysql5.7
    1、已安装好docker的虚拟机2、我这里用的是腾讯云3、执行下方命令1.dockerimagepullmysql:5.72.dockerrun--namemysql-p3316:3306-eMYSQL_ROOT_PASSWORD......
  • Exchange management Shell连接失败,报错超过负载配额
    现象打开ExchangeManagementshell报错不能连接某个服务器:WS-management服务无法处理该请求,已经超过系统的负载配额,以较慢速率发送将来的请求或提高系统配额。(TheWS-Manag......
  • windows下 mysql开启 binlog日志
    一、cmd进入mysql安装位置:(命令形式连接mysql或其他工具连接mysql)    二、执行sql语句:(语句后记得带上分号;)showbinarylogs;   三、说明没有开启:y......
  • [IT新知识]应对勒索软件的办法之一:备份
    整体来说,备份要考虑的就是备份软件、备份策略、备份介质等。备份软件可以帮助更好的实现备份这件事,自动化很多工作。备份策略帮你定义清楚要备份什么、多久备一次、备份到......
  • MySql查询指定时间数据
    user_event :用户事件表create_time:表中存储时间的字段 #获取当月数据SELECT*FROMuser_eventWHEREDATE_FORMAT(create_time,'%Y-%m')=DATE_FORMAT(NOW(),'%Y-%m')#......
  • CentOS7 64位安装mysql教程
    从最新版本的linux系统开始,默认的是Mariadb而不是mysql!这里依旧以mysql为例进行展示,注意mysql5.7与mysql5.7以下版本命令有所不同,注意看文章准备:mysql下载地址:​​https......
  • mysql where 字符串 大小写不敏感
    windows中sql列名表明  大小写不敏感,Mysql列名的值大小写也不敏感(ANSI规范不严谨),单双引号支持但是Oracle 的 列名的值 敏感,双引号不支持  mysql......
  • (转载)配置mysql允许远程连接的方法
    默认情况下,mysql只允许本地登录,如果要开启远程连接,则需要修改/etc/mysql/my.conf文件。一、修改/etc/mysql/my.conf找到bind-address=127.0.0.1这一行改为bind-address......
  • mysql 处理插入中文 ERROR 1366 (HY000): Incorrect string value: '\xE7\x8E\x9E
    数据库编码的问题。修改数据库enterprises的字符集:alterdatabaseenterprisescharactersetutf8修改数据表employees的字符集:altertableemployeescharacterset......