应用办公生活信息教育商业
投稿投诉
商业财经
汽车智能
教育国际
房产环球
信息数码
热点科技
生活手机
晨报新闻
办公软件
科学动态
应用生物
体育时事

java代码定时备份mysql数据库及注意事项基于sprin

  一、需求:
  定时备份数据库数据
  二、分析:
  1。定时任务
  2。备份数据库表结构和数据
  三、实现:
  1。pom文件:
  lt;?xmlversion1。0encodingUTF8?projectxmlnshttp:maven。apache。orgPOM4。0。0xmlns:xsihttp:www。w3。org2001XMLSchemainstancexsi:schemaLocationhttp:maven。apache。orgPOM4。0。0http:maven。apache。orgxsdmaven4。0。0。xsdmodelVersion4。0。0modelVersionparentgroupIdorg。springframework。bootgroupIdspringbootstarterparentartifactIdversion2。2。2。RELEASEversionrelativePath!lookupparentfromrepositoryparentgroupIdcom。kevingroupIdbackupdatabaseartifactIdversion1。0SNAPSHOTversionpackagingjarpackagingpropertiesjava。version1。8java。versionpropertiesdependencies!https:mvnrepository。comartifactmysqlmysqlconnectorjavadependencygroupIdmysqlgroupIdmysqlconnectorjavaartifactIdversion8。0。15versiondependency!https:mvnrepository。comartifactcom。alibabadruiddependencygroupIdcom。alibabagroupIddruidartifactIdversion1。1。20versiondependency!https:mvnrepository。comartifactorg。mybatismybatisdependencygroupIdorg。springframework。bootgroupIdspringbootstarterartifactIdversion2。2。4。RELEASEversiondependencydependencygroupIdorg。awaitilitygroupIdawaitilityartifactIdversion3。1。2versionscopetestscopedependencydependenciesbuildpluginsplugingroupIdorg。springframework。bootgroupIdspringbootmavenpluginartifactIdpluginpluginsbuildproject
  2。application。yml文件
  1hr2hr3hr4hr5hr6hr7hr8hr9hrspring:
  datasource:
  driverclassname:com。mysql。jdbc。Driver
  url:jdbc:mysql:192。168。100。120:3306test01?useSSLfalseautoReconnecttruecharacterEncodingUTF8serverTimezoneGMT2B8
  username:kevin02
  password:Kevin123!
  sqlbackup:
  path:exportserversdbbackup
  3。BackUpDataBaseManager具体操作数据库备份
  packagecom。kevin。manager;importorg。slf4j。Logger;importorg。slf4j。LoggerFactory;importorg。springframework。beans。factory。annotation。Value;importorg。springframework。stereotype。Service;importjava。io。File;importjava。io。IOException;authordellversion:task。javav1。0,2020年01月18日12:47Description数据库操作ServicepublicclassBackUpDataBaseManager{privatestaticfinalLoggerlogLoggerFactory。getLogger(BackUpDataBaseManager。class);Value({spring。datasource。driverclassname})privateStringdriverClassName;Value({spring。datasource。url})privateStringurl;Value({spring。datasource。username})privateStringuserName;Value({spring。datasource。password})privateStringpassword;Value({sqlbackup。path})privateStringsqlPath;获取数据库名publicStringgetDataBaseName(){returnurl。substring(url。indexOf(3306),url。indexOf(?))。replaceAll(,)。replaceAll(3306,);}获取主机地址privateStringgetHost(){returnurl。substring(url。indexOf(mysql),url。indexOf(3306))。replace(:,)。replace(,)。replace(mysql,);}导出sql并返回相关信息publicvoidexportSql(Stringtime){指定导出的sql存放的文件夹FilesaveFilenewFile(sqlPath);if(!saveFile。exists()){saveFile。mkdirs();}StringhostgetHost();StringdataBaseNamegetDataBaseName();StringfileNametimecloudpm。sql;StringBuildersbnewStringBuilder();拼接备份命令sb。append(mysqldump)。append(opt)。append(h)。append(host)。append(user)。append(userName)。append(password)。append(password);sb。append(resultfile)。append(sqlPathfileName)。append(defaultcharactersetutf8)。append(dataBaseName);try{ProcessexecRuntime。getRuntime()。exec(sb。toString());if(exec。waitFor()0){log。info(数据库备份成功,保存路径:sqlPath);}else{System。out。println(process。waitFor()exec。waitFor());}}catch(IOExceptione){log。error(备份数据库出现IO异常,e);}catch(InterruptedExceptione){log。error(备份数据库出现线程中断异常,e);}catch(Exceptione){log。error(备份数据库出现其他异常,e);}}}
  3。定时任务
  packagecom。kevin。schedule;importcom。kevin。manager。BackUpDataBaseManager;importorg。slf4j。Logger;importorg。slf4j。LoggerFactory;importorg。springframework。beans。factory。annotation。Autowired;importorg。springframework。scheduling。annotation。Scheduled;importorg。springframework。stereotype。Component;importjava。text。SimpleDateFormat;authordellversion:ScheduledTasks。javav1。0,2020年02月11日11:38Description定时任务ComponentpublicclassScheduledTasks{privatestaticfinalLoggerlogLoggerFactory。getLogger(ScheduledTasks。class);privatestaticfinalSimpleDateFormatdateFormatnewSimpleDateFormat(yyyyMMddHHmmssSS);AutowiredprivateBackUpDataBaseManagerbackUpDataBaseManager;每天下午4点50分30秒执行Scheduled(cron305016?)publicvoidreportCurrentTime(){StringformatdateFormat。format(System。currentTimeMillis());log。info(Thetimeisnow{},format);backUpDataBaseManager。exportSql(format);}}
  4。启动类
  packagecom。kevin;importorg。springframework。boot。SpringApplication;importorg。springframework。boot。autoconfigure。SpringBootApplication;importorg。springframework。scheduling。annotation。EnableScheduling;authordellversion:TaskAppliacation。javav1。0,2020年02月11日12:12DescriptionSpringBootApplicationEnableSchedulingpublicclassTaskApplication{publicstaticvoidmain(String〔〕args){SpringApplication。run(TaskApplication。class);}}
  5。执行:
  启动程序:
  执行结果(文件名前面为时间戳):
  sz命令下载
  默认下载到下载目录
  文件内容:
  思路:使用
  mysqldumpopthhostnameuserusernamepasswordpasswordresultfiledirfilenamedefaultcharactersetutf8dbname
  命令
  hostname:数据库所在主机
  username:数据库连接用户名
  password:数据库连接密码
  resultfile:结果文件。指定目录文件名
  dbname:需要导出的数据库名
  如:
  mysqldumpopth192。168。100。120userkevinpasswordKevin123!resultfileexportserversdbbackup2020021216503001cloudpm。sqldefaultcharactersetutf8test01
  注意事项:
  网上有说加个锁表的参数lockalltablestrue
  但报无reload权限,直接拿语句执行,也报相同的问题:
  mysqldump:CouldntexecuteFLUSHTABLES:Accessdenied;youneed(atleas)
  通过grant进行授权也不行
  直到看到
  然后去掉了lockalltablestrue
  就可以执行成功了

代码生成放开双手,专注业务,一键生成项目基础结构重复代码前言工欲善其事必先利其器,优秀者总是善于借助工具来提升自己的效率。作为一名开发者,项目架构设计完成后大部分的工作量就是项目架构搭建和表相关实体创建,这部分工作技术含量不高……南岳发布最新景区门票优惠管理规定来源:【衡阳日报掌上衡阳】南岳衡山风景名胜区景区门票优惠管理规定一、适用范围南岳衡山中心景区、南岳大庙、水濂洞景区二、执行时间本规定由衡阳市……瑜伽怎么样(做瑜伽的好处与坏处)说到养生,现在很多人都会想到瑜伽,但是瑜伽真的养生吗?不少人对此都抱有疑问,那么我们就来说一说瑜伽究竟是怎么养生的。瑜伽源于古印度,是古印度六大哲学派别中的一系,最早是从……贝壳哪里有(中国哪里贝壳最多)您好,麻烦您给我称一斤这个蛤蜊哪个?您要这个蚬子?好嘞!呃我还想来二斤这个蚌蚌?哦,蛏子二斤,您稍等上面这样尴尬的对话不仅小编遇到过,相信一些平时总也不……税优识别码在保单哪里(保单上的税优识别码)长沙晚报3月16日讯(全媒体记者刘琼萍)3月起,纳税人开始进行个税年度汇算,个税退税成为不少人关心的话题。有市民发现,除了子女教育、继续教育、大病医疗、住房贷款利息、住房租金、……公司使命怎么写(对公司的使命)企业愿景又译企业远景,简称愿景(Vision),或译做远景、远见,在90年代盛行一时。所谓愿景,由组织内部的成员所制订,借由团队讨论,获得组织一致的共识,形成大家愿意全力以赴的……初学者怎么自己修眉毛(男士眉毛怎么修好看)说起修眉,大家在观念里都会觉得这是女性才做的事情。其实,一款好看的眉形不仅可以让女性看起来更加有魅力,也会让男性显得来更加帅气,所以,男性也要修眉。大家都知道发型的重要性……brown怎么读(turn怎么读)听音频请点击下面:1:05audio难度等级:C级Fall秋天Infall,thingsturnorange。Infall,pumpkinsturnor……贵州医科大学怎么样(贵州医科大学是几本)贵州,简称黔或贵,位于中国西南地区,省会在贵阳。贵州省只有一所211大学,那就是贵州大学,不过,贵州省实力雄厚的一本大学却不少,本文将介绍几所贵州省的普通一本大学,供大家选择。……冬至为什么吃饺子(度冬至为什么要吃饺子)冬至的习俗与美食有哪些1、祭祖:在我国有很多传统节日都有祭祖的习俗,在日也不例外,在南方地区冬至日的时候,家家户户都会准备好香炉和贡品祭祀祖先,祈求来年风调雨顺、家庭和睦……跑首汽约车还欠他们钱呢资本家是真的恶心,首汽约车。预约订单,你在玩着手机就突然跳出来不小心就点到了,接乘客40公里送乘客5公里,我傻我去抢那个预约单?和客服乘客说明情况还是罚款20元。资……哪里有磁铁(家里哪里可以找到磁铁)加工工序:一:前道工序配料熔炼甩带制粉烧结(毛坯)配料:硬磁特性的一些矿粉压制在一起。熔炼:钕铁硼磁铁的熔炼制锭设备,包括设备箱体,铸锭箱熔融槽设备箱体……
昨天泡发的黄豆已经发芽!前几天培育的蒜苗可以吃了!!!这个跨年阳,真让人难受,黄豆煮水喝也没能阻止发毛的嗓子,一步步成了现在的刀片嗓,水泥鼻,浑身乏力。起来之后,先去看了昨天泡发的黄豆。经过一天的水泡,颗颗通亮,大多数黄豆已……裸婚时代11年,十位演员命运差距悬殊,主角消失,女4成顶流时间往回倒11年,90后还稚气未脱,80后正面临婚恋的抉择。在那个年代,车子、房子还不是结婚的标配,叛逆的种子还在80后心中萌芽,于是有了裸婚一族。导演滕华涛正是注……成都一新的主题公园试运营了,免费来看位于道明镇的竹艺公园景区已经开园了,进入了试运营阶段,其独具一格的竹文化特色,吸引游客纷纷前来打卡。竹艺公园位于崇州市非遗竹编小镇道明镇。和之前所说的竹艺村不一样,两个地……6个月前一哭就抱和哭过再抱的孩子,不用7年差距凸显文菁妈壹约翰华生是著名的行为心理学家,他说给我一打健全的婴儿,我随机挑选一个都可以训练成医生,律师,艺术家,商人或者乞丐,压根不用考虑天赋倾向能力,他觉得教育很重要……世乒赛两消息小胖遇野路子艰难取胜,王艺迪让球险丢局10月4日,成都世乒赛团体比赛继续进行。中国男女乒分别战胜了泰国队和马来西亚队,尽管两队双双赢球豪取4连胜,但比赛过程并非一帆风顺,个别场次甚至打得非常焦灼本届世乒赛团体……4大性价比最高的转会,巴萨占据2个名额!你信不信?在很多人的印象中,巴萨在转会市场上一直是低性价比的代名词,或许只有曼联能够更领风骚。不过如果将转会的区间局限在98后球员的范围内,如果选择4笔最高性价比的交易,巴萨或许可……享健康,动起来!体育才是孩子最不应该忽视的课程现在各大新媒体平台,都在不断涌现一些关于育儿知识的自媒体账号,很多科普类的账号都在向家长们讲述各种各样的育儿方式;其中不乏强调从小培养孩子爱读书、爱学习的好习惯,长大后的文化学……活着为了责任,奋斗为了理想如果要是问支撑一个人活下去继续奋斗的动力是什么,我个人认为就是责任与理想,因为人活着就是为了完成自己的责任,奋斗就是为了实现自己的理想。横看中外,纵观古今,无论是乡村野夫……日游客突破1。5万人,长岛渔家乐民宿凭啥火出圈?来源:【烟台日报大小新闻】谢谢老顾客的支持,从渔家乐到新民宿,每年都来,每次都有新成员,必须安排妥妥的。长岛四季予你奇遇民宿老板冷立基的朋友圈里,一张13个人的合影引来热……文博会深圳西部国际珠宝城(宝立方)分会场启幕12月27日下午,第十八届深圳文博会深圳西部国际珠宝城(宝立方)分会场在宝立方中心正式拉开帷幕,本次活动由深圳西部国际珠宝城主办及承办。本届分会场活动将以交易为主,活动为……单宁酸约束法引入单原子锌调控钯纳米催化剂加氢反应的选择性温州大学张剑Small:单宁酸约束法引入单原子锌调控钯纳米催化剂加氢反应的选择性【文章信息】单宁酸约束法引入单原子锌调控钯纳米催化剂加氢反应的选择性第一作者:……2022国内大厂新游开放世界太香了!连黄油厂商都来插一脚2022年是国内游戏厂商集体涌向开放世界游戏的一年,在今年公布新作当中,几乎半数都与开放世界脱不开干系。而与前两年小范围的尝试不同,今年腾讯、网易、叠纸等擅长其他领域的大厂也都……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网