Mysql数据库每天定时备份
1.先检查安装crontabs
yum install crontabs
2.在home目录下指定路径新建文件夹
3.新建执行脚本,在里面写入命令
touch mysql_backup.sh
shell脚本如下:
#!/bin/bash
#保存备份个数,备份14天数据
number=14
#备份保存路径
backup_dir=/home/tjgeo/back/mysqlbak
#日期
dd=`date +%Y-%m-%d-%H-%M-%S`
#备份工具
tool=mysqldump
#用户名
username=XXX
#密码
password=XXX
#将要备份的数据库 (全库备份)
database_name=all
#如果文件夹不存在则创建
if [ ! -d $backup_dir ];
then
mkdir -p $backup_dir;
fi
echo '****************************************************************************'>> $backup_dir/log.log
echo '1、开始备份数据:文件名称:'$database_name'-'$dd'.tar.gz开始时间:'$dd>> $backup_dir/log.log
#备份全库
$tool --socket=/home/xxx/mysql/mysql.sock -u $username -p$password -A> $backup_dir/$database_name-$dd.sql
cd $backup_dir
#压缩备份文件
tar -czf $database_name-$dd.tar.gz $database_name-$dd.sql
#删除 原备份文件
rm $backup_dir/$database_name-$dd.sql
#写创建备份日志
echo '2、创建备份文件 '$backup_dir'/'$database_name'-'$dd'.tar.gz' >> $backup_dir/log.log
#找出需要删除的备份
delfile=`ls -l -crt $backup_dir/*.tar.gz | awk '{print $9 }' | head -1`
#判断现在的备份数量是否大于$number
count=`ls -l -crt $backup_dir/*.tar.gz | awk '{print $9 }' | wc -l`
ii=1
if [ $count -gt $number ]
then
#删除最早生成的备份,只保留number数量的备份
rm $delfile
#写删除文件日志
echo '3."&ii"删除14天前备份 '$delfile>> $backup_dir/log.log
ii=ii+1
fi
echo '4.备份完成' >> $backup_dir/log.log
echo '*****************************************'>> $backup_dir/log.log
4.在命令行写入crontab -e
写入每天两点执行 0 2 * * * /home/tjgeo/back/mysqlbak/mysql_backup.sh
5.crontab常用命令,启动服务
service crond start //启动服务
service crond stop //关闭服务
service crond restart //重启服务
service crond reload //重新载入配置
service crond status //查看服务状态
6.在/var/spool/mail中的root中可以查看服务日志
7.mysql_backup.sh提示权限不够,可以chmod 777 mysql_backup.sh
8.提示以下报错
crond: /usr/sbin/sendmail: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object file: No such file or directory
mysql8.0是二进制包安装的,位置是/usr/local/mysql8下,然后我看了下/usr/local/mysql8/lib/下是没有libmysqlclient.so.18这个文件的.
这时候你可以在其他安装了mysql数据库的服务器上查找下这个文件
# find / -name libmysqlclient.so.18
/usr/lib64/mysql/libmysqlclient.so.18ll /usr/lib64/mysql/
总用量 19116
lrwxrwxrwx 1 root root 20 2月 7 2021 libmysqlclient_r.so.18 -> libmysqlclient.so.18
lrwxrwxrwx 1 root root 24 2月 7 2021 libmysqlclient_r.so.18.1.0 -> libmysqlclient.so.18.1.0
lrwxrwxrwx 1 root root 24 2月 7 2021 libmysqlclient.so.18 -> libmysqlclient.so.18.1.0
-rwxr-xr-x 1 root root 9578168 6月 10 2019 libmysqlclient.so.18.1.0
lrwxrwxrwx 1 root root 25 2月 7 2021 libmysqlclient.so.20 -> libmysqlclient.so.20.3.14
-rwxr-xr-x 1 root root 9989088 6月 10 2019 libmysqlclient.so.20.3.14
drwxr-xr-x 4 root root 28 2月 7 2021 mecab
drwxr-xr-x. 3 root root 4096 2月 7 2021 plugin
此时将 libmysqlclient.so.18.1.0 这个文件下载下来然后上传到缺少libmysqlclient.so.18文件的服务器上的/usr/local/mysql8/lib/目录下,然后记得给执行权限和做本地软连接
# chmod +x libmysqlclient.so.18.1.0
在本地创建文件软连接
# ln -s libmysqlclient.so.18.1.0 libmysqlclient.so.18
# chown mysql:mysql libmysqlclient.so.18*
ll
总用量 145904
-rw-r--r-- 1 mysql mysql 106474328 12月 18 01:50 libmysqlclient.a
lrwxrwxrwx 1 mysql mysql 20 12月 18 02:28 libmysqlclient.so -> libmysqlclient.so.21
lrwxrwxrwx 1 root root 24 6月 1 11:06 libmysqlclient.so.18 -> libmysqlclient.so.18.1.0
-rwxr-xr-x 1 mysql mysql 9578168 6月 1 11:04 libmysqlclient.so.18.1.0
lrwxrwxrwx 1 mysql mysql 25 12月 18 02:28 libmysqlclient.so.21 -> libmysqlclient.so.21.2.28
-rwxr-xr-x 1 mysql mysql 33294176 12月 18 01:49 libmysqlclient.so.21.2.28
-rw-r--r-- 1 mysql mysql 44630 12月 18 01:46 libmysqlservices.a
drwxr-xr-x 4 mysql mysql 28 12月 18 02:28 mecab
drwxr-xr-x 2 mysql mysql 28 12月 18 02:28 pkgconfig
drwxr-xr-x 3 mysql mysql 4096 12月 18 02:28 plugin
drwxr-xr-x 4 mysql mysql 4096 12月 18 02:28 private
然后修改下/etc/ld.so.conf文件
# cat /etc/ld.so.conf
include ld.so.conf.d/*.conf在/etc/ld.so.conf.d/下创建mysql.conf文件并加入/usr/local/mysql8/lib/
# cat /etc/ld.so.conf.d/mysql.conf
/usr/local/mysql8/lib/
再运行:/sbin/ldconfig -v 更新一下配置即可。
/sbin/ldconfig -v
Mysql数据库每天定时备份相关推荐
- Linux实现MYSQl数据库的定时备份
今天给大家分享一下如何在Linux下实现MYSQl数据库的定时备份. 前提需要保证你的Linux服务器已经安装了MYSQl数据库服务. 1.创建shell脚本 vim backupdb.sh 创建脚本 ...
- navcat定时备份mysql_Linux实现MYSQl数据库的定时备份
今天给大家分享一下如何在Linux下实现MYSQl数据库的定时备份. 前提需要保证你的Linux服务器已经安装了MYSQl数据库服务. 1.创建shell脚本 vim backupdb.sh 创建脚本 ...
- mysql自动定时备份数据,mysql数据库自动定时备份脚本
1.shell脚本如下: Now=$(date +"%d-%m-%Y") File=/tmp/mysqldump238CEM/MysqlDumpFile238CEM-$Now.sq ...
- SpringBoot项目中对mysql数据库进行定时备份为sql文件的实现思路
场景 在SpringBoot搭建的项目架构中,为了防止数据库被清库或者误删数据库的情况. 所以需要一个定时将mysql的数据库中的数据进行备份成sql文件,并将重要的sql文件通过邮件服务器的方式 发 ...
- Java定时备份MySql数据库 Java定时备份数据库 Java备份MySql数据库 java定时备份mysql数据库 java备份mysql数据库
1.定时任务类 import com.mh.jishi.util.DbUtil; import lombok.extern.slf4j.Slf4j; import org.springframewor ...
- crontab 备份mysql数据库_crontab定时备份mySQL数据库
[sh] #!/bin/bash #Shell Command For Backup MySQL Database Everyday Automatically By Crontab USER=roo ...
- mysql自动备份 linux_Linux下MySQL数据库自动定时备份
1.查看磁盘空间情况 [root@server]# df -h Filesystem Size Used Avail Use% Mounted on /dev/vda2 39G 6.4G 30G 18 ...
- c#定时备份mysql数据库_C# 定时备份数据库工具源码下载
[实例简介] [实例截图] [核心代码] using System; using System.Collections.Generic; using System.ComponentModel; us ...
- linux上mysql定时备份数据库数据_Linux下如何实现MySQL数据库每天定时自动备份
在云计算的浪潮下,企业多将业务部署在云上.对于数据库中的数据,直接使用云数据库自带的备份功能实现备份,操作简单.但是云数据库备份数据的存储空间有限制,一旦超出存储量便自动关闭备份功能,运维人员往往也会 ...
最新文章
- 基金委新规:填写论文成果,不再标注通讯和一作!影响有多大?
- 『中级篇』k8s的NodePort类型Service以及Label的简单实用(68)
- PyQt5教程7:布局Layout管理
- Python列表的增删查改及常用操作
- Angular HttpClient.get的实现单步调试
- Elements in iteration expect to have v-bind:key directives错误的解决办法
- UWP-HttpClient
- html5比赛策划书,FashionAI 天池竞赛 - Top5 技术方案简汇
- html时钟自动刷新抖音,抖音上炫酷的网红文字时钟
- 安卓flash插件_谷歌Chrome 76稳定版正式发布:默认禁用Flash
- 适合外贸建站的vatage主题教程
- 简述er图的作用_ER图的理解
- 百度站内搜索使用教程
- SEO优化_如何伪原创文章方法
- 小程序获取上一页的数据修改上一个页面的数据
- linux断电并重启命令,Linux基本操作:关机 重启
- Kubernetes 部署高可用集群(二进制,v1.18)下
- MDA核心之MOF原理和实现
- Tiktok运营知识:刚开始如何快速涨粉?上热门
- Json转为Excel文件导出下载
热门文章
- 如何在SQL中将某个算出来的值平摊到每一行中使用
- shineblink BMP280气压/温度测量
- 针对某网站的SEO评测报告
- 织梦dedecms黑色风格餐饮美食企业网站模板(带手机移动端)
- xm-select 下拉框分组单选事件
- 家用计算机怎么更新,Win7家庭版如何升级为旗舰版
- Java源码之从零单排--ArrayList
- 关于THC/THC.h: No such file or directory解决办法
- python进行数据预测的实例-第一个使用Python完成的数据化运营案例――销售预测...
- 2021.12.11 烹饪