位置:首页 > 资讯大全 > 网站优化

mysql备份数据表命令(mysql数据库备份方式)

发布时间:2022-07-12 21:52:55

文章来源:快乐收录网

访问次数:

大家好,我是Spring小杨,一个有梦想的Java司机。NfG快乐收录网

1.事件起因

就是之前服务器上用的是mysql数据库,因为小公司嘛,也没有专门的运维。我们几个苦逼的开发都是即当业务,又干开发,还要做测试和运维,别提多悲催了。NfG快乐收录网

NfG快乐收录网
 NfG快乐收录网

我用几行代码实现了mysql数据库的自动备份,老板说小伙子不错

 NfG快乐收录网

因为出过生产事故,后来兼顾运维的同事只好每天手动去备份。NfG快乐收录网
备份很简单,就是用navicat。NfG快乐收录网

NfG快乐收录网
 NfG快乐收录网

我用几行代码实现了mysql数据库的自动备份,老板说小伙子不错

 NfG快乐收录网

这个玩意,相信大家都用过吧,里面有一个导出数据库的功能,会导出一个xxx.sql。NfG快乐收录网

然后,我们会在电脑上弄一个文件夹,改一下sql的文件名,比如backup20211011.sql。NfG快乐收录网

问题是,每天都手动去备份一下,是真的很麻烦啊。NfG快乐收录网

后来,我灵机一动,说我给你写个脚本吧,你放到服务器上,以后就不用天天手动去备份了。NfG快乐收录网

我用几行代码实现了mysql数据库的自动备份,老板说小伙子不错

 NfG快乐收录网

2.BAT脚本备份mysql

废话不多说,直接上脚本:NfG快乐收录网

echo off     
for /f "tokens=2 delims==" %%a in ('wmic path win32_operatingsystem get LocalDateTime /value') do (   
set t=%%a   
)
set ip=127.0.0.1
set user=root
set password=123
set Today=%t:~0,4%-%t:~4,2%-%t:~6,2% 
echo,%Today%         
echo.
"E:mysql-5.5.31-win32binmysqldump.exe" -h%ip% -u%user% -p%password% --default-character-set=utf8 --opt --extended-insert=false  --triggers -R --hex-blob  -x edu>d:db_backupYourDataBaseName.sql  
echo.
echo,生成目录d:db_backup%Today%
md d:db_backup%Today%
move d:db_backupYourDataBaseName.sql d:db_backup%Today%
echo,备份完毕

就是用cmd命令实现了mysql的备份,这样子。NfG快乐收录网
小杨在这边给大家稍微解释一下关键的命令。NfG快乐收录网

set ip=127.0.0.1
set user=root
set password=123
set Today=%t:~0,4%-%t:~4,2%-%t:~6,2% 

这几行是设置IP,用户名和密码。Today就是今天的日期,用来生成文件夹的。NfG快乐收录网

"E:mysql-5.5.31-win32binmysqldump.exe" 
-h%ip% -u%user% -p%password% 
--default-character-set=utf8 
--opt 
--extended-insert=false  
--triggers -R --hex-blob  
-x YourDataBaseName>d:db_backupYourDataBaseName.sql  

再看这几行,其中 E:mysql-5.5.31-win32binmysqldump.exe 是我们电脑mysqldump执行文件的绝对路径,就在你安装mysql的目录里面。 然后就是你数据库的名字:YourDataBaseName。NfG快乐收录网

生成该数据库的脚本文件后,会保存到 d:db_backup 目录里面。NfG快乐收录网

md d:db_backup%Today%
move d:db_backupYourDataBaseName.sql d:db_backup%Today%

最后,就是生成日期文件夹,比如20211011,然后用move命令把刚才生成的脚本文件移动到这个文件夹中,就大功告成啦!NfG快乐收录网

NfG快乐收录网
 NfG快乐收录网

我用几行代码实现了mysql数据库的自动备份,老板说小伙子不错

 NfG快乐收录网

3. 写Java定时任务部署到服务器

最后一步,就是写一个Java定时任务,定时去调这个bat脚本,就完事了。NfG快乐收录网

我用的是Hutool定时任务工具。NfG快乐收录网

我用几行代码实现了mysql数据库的自动备份,老板说小伙子不错

 NfG快乐收录网

核心代码我也贴出来给大家:NfG快乐收录网

public void mysqlBackup(){
    System.out.println("mysql备份 开始...");
    RuntimeUtil.exec("cmd.exe /c start  C:/mysql_backup.bat");
    try {
        Thread.sleep(5000);
    } catch (InterruptedException e) {
        e.printStackTrace();
    }
    RuntimeUtil.exec("taskkill /f /im cmd.exe");

哈哈,简单不?几行代码就搞定了!NfG快乐收录网

NfG快乐收录网

  《mysql备份数据表命令(mysql数据库备份方式)》更新于时间:2022-07-12 21:52:55;由本站小编进行发布,目前浏览的小伙伴达到,感谢你们的支持,后期快乐收录网小编会继续为大家更新更多相关的文章,希望广大网友多多关注快乐收录网工作心得栏目,如果觉得本站不错,那就给我们一个分享的支持吧!

mysql备份数据表命令(mysql数据库备份方式)特别声明

本站快乐收录网提供的mysql备份数据表命令(mysql数据库备份方式)都来源于网络,不保证文章的准确性和真实性,同时,对于该文章所造成的影响,不由快乐收录网实际控制,在2022-07-12 21:52:55收录时,该网页上的内容,都属于合规合法,如有侵权违规,可以直接联系网站管理员进行整改或删除,快乐收录网不承担任何责任。

快乐收录网:致力于优质、实用的网络站点资源收集与分享!本文地址:https://nav.klxjz.cn/zixundaquan/wzyh/202207/8715.html转载请注明

标签: