一、mysql提供了一个mysqldump的工具可以方便的导出导入数据库信息;

一般情况下mysql的数据库安装成功后,mysqldump的位置在:/usr/bin 的目录会有mysqldump这个文件。创建bakmysql.sh脚本。脚本如下:
#!/bin/bash # Name:clear_tomcat_log.sh # This is a ShellScript For Auto DB Backup and Delete old Backup # # 参数说明: # backupdir 保存路径的绝对地址 # 代码中 time=` date +%Y%m%d`也可以写为time=”$(date +”%Y%m%d”)” 找到当前日期时间格式 # 其中`符号是TAB键上面的符号,不是ENTER左边的’符号,还有date后要有一个空格。 #mysql_bin_dir:mysql的bin路径; #dataname:数据库名; #user:数据库用户名; #password:用户密码; #name:自定义备份文件前缀标识 # name:自定义备份文件前缀标识。 # -type f 表示查找普通类型的文件,f表示普通文件。 # -mtime +30 按照文件的更改时间来查找文件,+30表示文件更改时间距现在30天以前;如果是 -mmin +7 表示文件更改时间距现在7分钟以前。 # -exec rm -rf {} \; 表示执行一段shell命令,exec选项后面跟随着所要执行的命令或脚本,然后是一对儿{},一个空格和一个\,最后是一个分号。 #数据库备份的位置 backupdir=/home/mysqlbak time=` date +%Y%m%d%H%M%S` #需要备份的数据库的连接的用户名和密码和数据库 #mysql_bin_dir/mysqldump -uuser -ppassword dataname | gzip > $backupdir/name$time.sql.gz /usr/bin/mysqldump -u root -pBlqy_scsio_1 scsio | gzip > $backupdir/mysql_$time.sql.gz #传输至备份服务器,如果保留本机则不需要此步骤 #scp $backupdir/mysql_$time.sql.gz 22.122.51.158:/data/bakup/159/ #find $backupdir -name "name*.sql.gz" -type f -mtime +30 -exec rm -rf {} \; #保留10日find $backupdir -name "mysql_*.sql.gz" -type f -mtime +10 -exec rm -rf {} \;

二、使用命令行shell测试执行mysqldump,理解必备的参数,查看生成的sql备份文件是否符合需求

第一步:将编写好的脚本放到数据库的服务器上如下图:
image.png
第二步:进行授予读写权限:
image.png
第三步:创建bakmysql.sh中的备份文件夹
image.png
第四步:配置linux定时任务
创建定时任务:crontab -e [图片上传失败...(image-1638b9-1573886433692)] 图中的为每天的凌晨2点执行数据库备份 crontab [-u username] //省略用户表表示操作当前用户的crontab -e (编辑工作表) -l (列出工作表里的命令) -r (删除工作作)
查看定时任务:crontab -l
[root@localhost mysqlbak]