加入收藏 | 设为首页 | 会员中心 | 我要投稿 拼字网 - 核心网 (https://www.hexinwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

mysql备份实践

发布时间:2023-01-05 07:30:59 所属栏目:MySql教程 来源:未知
导读: 一、mysql命令
mysql提供了命令mysqldump来做数据备份的事,其具体命令为:
mysqldump -u root -p --databases db1 db2 > xxx.sql
其中加 -d 参数:备份数据库的结构;
加-t 参数:备份数据

一、mysql命令

mysql提供了命令mysqldump来做数据备份的事,其具体命令为:

mysqldump -u root -p --databases db1 db2 > xxx.sql

其中加 -d 参数:备份数据库的结构;

加-t 参数:备份数据库的数据;

备份某库全部为:mysqldump -uroot -p123456 mydb > /data/mysqlDump/mydb.sql。

以上为mysql提供的基本命令。

二、定时任务

一般情况下,我们通过定时任务做备份。

Liunx 下 的定时执行文件在/var/spool/cron下,该文件通过crontab命令创建。

在crontab文件中需输入执行时间和命令。每行都包括六个域,其中前五个域是指定命令被执行的时间mysql备份,最后一个域是要被执行的命令。

形如:

minute hour day-of-month month-of-year day-of-week commands 
合法值 00-59 00-23 01-31 01-12 0-6 (0 is sunday) 

还有几个字符,*代表所有的取值范围内的数字,"/"代表每的意思,"/5"表示每5个单位,"-"代表从某个数字到某个数字,","分开几个离散的数字。

比如:每天3:10执行。

10 3 * * * /data/mysql_backup_script.sh

添加完以下扫行脚本:/bin/systemctl restart crond.service

三、实战-shell脚本

#!/bin/bash
 
#保存备份个数,备份31天数据

mysql备份_mysql mysqldump备份_mysql备份与恢复命令

number=31 #备份保存路径 backup_dir=/data/mysqlDump #日期 dd=`date +%Y-%m-%d-%H-%M-%S` #备份工具 tool=mysqldump #用户名 username=root #密码 password= #将要备份的数据库 database_name=timesheet #如果文件夹不存在则创建 if [ ! -d $backup_dir ]; then mkdir -p $backup_dir; fi #简单写法 mysqldump -u root -p123456 users > /root/mysqlbackup/users-$filename.sql $tool -u $username -p$password $database_name > $backup_dir/$database_name-$dd.sql

mysql备份_mysql备份与恢复命令_mysql mysqldump备份

#写创建备份日志 echo "create $backup_dir/$database_name-$dd.dupm" >> $backup_dir/log.txt #找出需要删除的备份 delfile=`ls -l -crt $backup_dir/*.sql | awk '{print $9 }' | head -1` #判断现在的备份数量是否大于$number count=`ls -l -crt $backup_dir/*.sql | awk '{print $9 }' | wc -l` if [ $count -gt $number ] then #删除最早生成的备份,只保留number数量的备份 rm $delfile #写删除文件日志 echo "delete $delfile" >> $backup_dir/log.txt fi

补充:

定时任务执行失败,报mysqldump: command not found。( 可通过vi /var/log/cron 查看定时任务执行情况)

需设置软连接(find / -name mysql -print 找mysql安装目录):

ln -fs /usr/local/mysql/bin/mysqldump /usr/bin

最终定时任务改为:

10 3 * * * /usr/bin/sh /data/mysql_backup_script.sh  >>/data/mysqlDump/checkES.log 2>&1

(编辑:拼字网 - 核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!