首页 > 数据库 >mySQL数据库自动完整备份 centos

mySQL数据库自动完整备份 centos

时间:2024-12-03 10:13:46浏览次数:6  
标签:bin www centos 备份 mySQL 数据库 mysql dbname

 1 #!/bin/bash
 2 #远程地址
 3 dbhost='localhost'
 4 #端口
 5 dbport='3308'
 6 #需要备份的数据库,多个数据库用空格分开
 7 dbnames=("db1" "db2" "db3" "dd4 dd5")
 8 #用户名
 9 username='root'
10 #密码
11 password='password'
12 #备份时间
13 backtime=`date +%Y%m%d%H%M%S`
14 #日志备份路径
15 logpath='/www/mydata/log'
16 #数据备份路径
17 datapath='/www/mydata/mysql_bak'
18 
19 for dbname in ${dbnames[@]}; do
20 #日志记录头部
21   echo "[${backtime}]-[${dbhost}]-[${dbport}]-备份数据库表${dbname}开始" >> ${logpath}/mysqllog.log
22 #正式备份数据库
23   for table in $dbname; do
24     source=`/www/mysql/bin/mysqldump --single-transaction -u${username} -p${password} -h${dbhost} -P${dbport} ${table}> ${datapath}/${dbname}_${backtime}.sql` 2>> ${logpath}/mysqllog.log;
25     #备份成功以下操作
26     if [ "$?" == 0 ];then
27         cd $datapath
28         #删除七天前备份,也就是只保存7天内的备份
29         find $datapath -name "*.sql" -type f -mtime +30 -exec rm -rf {} \;
30         echo "[${backtime}]-[${dbhost}]-[${dbport}]-备份数据库表${dbname}成功" >> ${logpath}/mysqllog.log
31     else
32         #备份失败则进行以下操作
33         echo "[${backtime}]-[${dbhost}]-[${dbport}]-备份数据库表${dbname}失败" >> ${logpath}/mysqllog.log
34     fi
35    done
36 done

设置文件成可执行的
chmod u+x full.sh

# 编辑定时任务
crontab -e

30 23 * * * /www/back.sh

重启,不重启不会生效

service crond stop //关闭服务
service crond restart //重启服务

service crond status   //查看服务状态

 

如果提示:mysqldump 找不到,则建立一个软连接

或者像上文指定具体路径

ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql

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

如果mysql是自定义安装,且不在默认目录时,会提示
Can't connect to local MySQL server through socket '/tmp/mysql.sock' (111)

同样建立一个软连接搞定
ln -s /usr/local/mysql/mysql.sock /var/mysql.sock

 

如果当前用户没有操作权限,则把文件夹给他得了,嘿嘿:

chown -R mysql:mysql /www/mydata

 

标签:bin,www,centos,备份,mySQL,数据库,mysql,dbname
From: https://www.cnblogs.com/jamin/p/18583492

相关文章

  • python 创建mysql数据库脚(执行sql)脚本代码
    安装依赖库mysql-connector-pythonpipinstallmysql-connector-python执行创建数据库的sql脚本代码importmysql.connectorfrommysql.connectorimportErrordefcreate_database(db_name,host_name="192.168.0.33",user_name="root",user_password="SHU......
  • 如何备份 Z-BlogPHP 数据库和文件?
    备份Z-BlogPHP的数据库和文件是非常重要的,尤其是在进行升级或重大更改之前。备份数据库的步骤如下:备份数据库:使用phpMyAdmin或其他数据库管理工具,导出你的Z-BlogPHP数据库。选择导出格式为SQL文件,并保存到安全的位置。备份文件:通过FTP或SFTP客户端,下载Z-Bl......
  • CentOS 7 上安装 MySQL 8步骤:
    二、安装MySQL1.下载MySQL安装包官网下载:访问MySQL官网下载所需版本。使用wget下载:wgethttps://downloads.mysql.com/archives/get/p/23/file/mysql-8.0.30-el7-x86_64.tar2.解压安装包进入安装目录:cd/usr/local/解压安装包:tar-xvfmysql-8.0.3......
  • Y20030041 java+mysql基于微信小程序的阅读器的设计与实现 源代码 配置 文档
    基于微信小程序的阅读器1.项目描述2.目的和意义3.项目功能结构4.界面展示5.源码获取1.项目描述当计算机在人们生活的各个领域迅速曼延之时,人们获取信息的方式也更加的直接迅速,网络化使信息领域变得更为广泛,在也没有了时间和空间的限制。人们获取信息大部分是通过网......
  • Y20030035 基于微信小程序+Java+SpringBoot+vue+maven+mysql+的车位租赁管理系统设计
    车位租赁管理系统1.项目描概述2.开发的背景与意义3.功能结构4.界面展示5.源码获取1.项目描概述在移动互联网的迅速发展推进下,微信成了人们生活中不可缺少的一款信息交流和沟通平台。而微信小程序的推出,便得现在人们在日常生活中更多的是通过手机微信平台进行安装各......
  • y20030034 微信小程序+java+jsp+servlet+mysql+电子设备回收小程序 源码 配置 文档
    电子设备回收小程序1.摘要2.开发背景和意义3.功能结构4.界面展示5.源码获取1.摘要随着移动互联网的发展,微信小程序已经成为人们生活中不可或缺的一部分。微信小程序的优点在于其快速、轻量、易用,用户无需下载即可使用,节省了用户的时间和空间。随着人们对环保意识的......
  • 基于Apache Seatunnel对于mysql8进行同步
    今天同事被一个需求搞的很难受,场景是甲方有内网、外网、中转机三台服务器,其中内网和外网的mysql数据库需要互相同步,中转机是windows系统,同事不想太麻烦(数据量也不是很大)。最好是简单搭建即可进行同步内外数据库中的数据。canal的方案太复杂涉及到的组件太多,flink对于windows的支......
  • MySQL底层概述—9.ACID与事务
    大纲1.ACID之原子性2.ACID之持久性3.ACID之隔离性4.ACID之一致性5.ACID的关系6.事务控制演进之排队7.事务控制演进之排它锁8.事务控制演进之读写锁9.事务控制演进之MVCC10.事务隔离级别之隔离级别的类型11.事务隔离级别之和锁的关系12.事务隔离级别之隔离级别的控制......
  • 高效集成:将聚水潭数据导入MySQL的实战案例
    聚水潭数据集成到MySQL:店铺信息查询案例分享在数据驱动的业务环境中,如何高效、准确地实现跨平台的数据集成是每个企业面临的重要挑战。本文将聚焦于一个具体的系统对接集成案例——将聚水潭的店铺信息查询结果集成到MySQL数据库中,以供BI系统进行进一步的数据分析和处理。本次集......
  • centos7软件仓库停用问题解决
    首先这只是一种临时解决方案,centos7已经停止维护了,软件仓库2024年7月已经停了,不建议使用了,建议切换到rockyos9,rockyos9里面包管理工具是dnf,dnf目前是兼容yum命令的,升级rockos除了软件数据的迁移,使用习惯几乎完全一样。解决方案如下:#打开仓库文件目录cd/etc/yum.repos.d#......