Linux系统mysql数据库定时自动备份详细教程

本文介绍了如何在Linux系统中创建一个名为backup.sh的脚本来定时备份MySQL数据库,包括脚本编写、crontab设置以及遇到问题时的解决方案。
摘要由CSDN通过智能技术生成

在Linux系统中,可以使用crontab来设置MySQL数据库的定时备份。

1. 创建backup.sh脚本文件,下面是一个示例的备份脚本:

   #!/bin/bash
   echo '**********************backup start ************************'
   DATE=$(date +%Y%m%d%H%M) # 获取当前日期和时间作为备份名称
   BACKUPDIR="/data/backups/database" # 指定备份存放目录
   MYSQLUSER="root" # MySQL用户名
   MYSQLPASSWORD="root@2023" # MySQL密码
   DATABASES=("database_01" "database_02") # 需要备份的数据库列表

   for DB in ${DATABASES[@]};
   do
        mysqldump -u $MYSQLUSER -p$MYSQLPASSWORD --socket=/home/data/mysql/mysql.sock --single-transaction --routines --triggers --events "$DB" > "$BACKUPDIR/$DB-$DATE.sql"
   done
   echo '**********************backup end ************************'

将上述内容保存到backup.sh文件中,然后通过chmod命令添加执行权限:

chmod +x backup.sh

2.打开终端并输入crontab -e进入cron配置界面。按i键进入编辑模式,在最后一行添加以下内容:

00 01 * * * /root/build/backup.sh >> /data/backups/logs/mysqldump.log 2>&1

这里的意思是每天凌晨1点运行备份脚本,并将结果记录到 /data/backups/logs/mysqldump.log文件中。根据自己的情况修改路径和时间。
完成后按Esc键退出编辑模式,再输入:wq保存并退出。
现在,MySQL数据库就会被定时备份了。

3.执行命令报错解决方案:

3.1 mysqldump: 未找到命令

[root@host-10-1-1-103 data]# whereis mysql
mysql: /usr/bin/mysql /usr/lib64/mysql /usr/local/mysql /usr/share/mysql

[root@host-10-1-1-103 data]# ln -fs /usr/local/mysql/bin/mysqldump /usr/bin

3.2 配置mysql环境变量

在Linux系统中,我们可以通过以下命令来将mysql添加到系统的PATH路径下:

echo 'export PATH="$PATH:/usr/local/mysql/bin"' >> ~/.bash_profile

之后我们可以通过source命令来使配置文件生效:

source ~/.bash_profile
  • 10
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值