mysql数据库实现备份

mysql数据库实现备份

  • 程序上备份
  • 填写脚本备份(mysqldump备份成sql文件)

1、程序上备份(通过spring中定时任务执行程序)

public void exportSql(){
    
    StringBuffer command = new StringBuffer();
    String username = "root";// 用户名
	String password = "root";// 密码
	String host = "localhost";// 导入的目标数据库所在的主机
	String port = "3306";// 使用的端口号
	String exportDatabaseName = "dataBaseName";// 导入的目标数据库的名称
	String exportPath = "C:/mytable.sql";// 导入的目标文件所在的位置

    // 密码是用的小p,而端口是用的大P。
	command.append("mysqldump -u").append(username).append(" -p").append(password)
    .append(" -h").append(host).append(" -P").append(port)
    .append(" ").append(exportDatabaseName).append(" -r ").append(exportPath);


    Runtime runtime = Runtime.getRuntime();
	
    // 这里其实是在命令窗口中执行的 command 命令行
	try {
			Process exec = runtime.exec(command.toString());
	} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
	}

}

2、填写脚本(mysqldump备份成sql文件),使用windows系统中定时任务执行脚本

   1、share.bat

@echo off
set "Ymd=%date:~,4%%date:~5,2%%date:~8,2%"
C:/MySQL/bin/mysqldump --opt -u root --password=123456 share > D:/share_%Ymd%.sql
@echo on

mysql数据库实现备份_第1张图片参考信息:

   %date:~0,10%      //提取年月日信息
   %date:~-3%         //提取星期几信息
   %time:~0,5%         //提取时间中的时和分
   %time:~0,-3%       //提取时和分和秒信息

注意事项:

        检查调用路径的文件夹名称是不是带有空格,因为默认mysql安装路径是带空格的,这个也会导致备份文件空。解决带空格的方法(使用添加引号的方式解决):
       以前的语句C:\Program Files\MySQL\MySQL Server 5.7\bin\mysqldump
       修改后的语句C:\"Program Files\MySQL\MySQL Server 5.7\bin"\mysqldump
    2、使用windows的定时任务启动share.bat脚本

         https://jingyan.baidu.com/article/154b463130041128ca8f41c7.html

 

参考文章:

https://www.cnblogs.com/gyrgyr/p/6051093.html

https://blog.csdn.net/bestkilly/article/details/72850812

你可能感兴趣的:(mysql)