当前位置: 首页 > news >正文

有哪些做家教网站江苏疫情最新消息

有哪些做家教网站,江苏疫情最新消息,软件开发的软件,免费网店有哪些平台文章目录 前言存储数据库存储数据表 前言 数据库备份是开发工作中经常要做的事情,好处是mysql提供了一个非常好的命令 mysqldump,直接调用它就可以将数据以sql文件的形式备份出来。但是直接写命令非常不方便,遇到定时备份或者指定备份那么就需…

在这里插入图片描述

文章目录

  • 前言
  • 存储数据库
  • 存储数据表

前言

  数据库备份是开发工作中经常要做的事情,好处是mysql提供了一个非常好的命令 mysqldump,直接调用它就可以将数据以sql文件的形式备份出来。但是直接写命令非常不方便,遇到定时备份或者指定备份那么就需要代码调用。下面是一个使用java代码调用该命令的小示例:

mysqldump -u username -p password -h host -P port exportDatabaseName exportPath

  在进行导出的时候,需要注意命令语句的运行环境,如果已经将mysql安装路径下的bin加入到系统的path变量中,那么在导出的时候可以直接使用命令语句,否则,就需要在执行命令语句的时候加上命令所在位置的路径,即mysql安装路径想的bin下的mysqldump命令。

存储数据库

public class DataSyncTransfer {/** MySQL安装目录的Bin目录的绝对路径 */private static String mysqlBinPath = "/usr/local/mysql/bin/";private static String mysqldump = mysqlBinPath + "mysqldump";/*** 备份 MySQL 数据库* * @param clientIp   访问MySQL数据库的主机* @param port       访问MySQL数据库的端口* @param userName   访问MySQL数据库的用户名* @param password   访问MySQL数据库的密码* @param database   需要备份的数据库,多个数据库之间使用逗号分隔* @param backupFile 备份文件存放的路径,如果指定路径的文件不存在会自动生成*/public static boolean backupDatabase(String clientIp, int port, String userName, String password, String database,String backupPath) throws Exception {// 当前日期String currentDate = new SimpleDateFormat("yyyy-MM-dd").format(new Date());// 当前时间String currentTime = new SimpleDateFormat("HH-mm-ss").format(Calendar.getInstance().getTime());// 备份文件名String backupFileName = database + "-" + currentDate + "-" + currentTime + ".sql";// 备份文件路径String backupFilePath = backupPath + backupFileName;// 创建备份文件存放目录,如果已经存在则不创建new File(backupPath).mkdirs();// 新建命令列表List<String> commandList = new ArrayList<>();// 添加命令:备份 MySQL 数据库commandList.add(mysqldump);// 添加命令参数:MySQL 服务器地址if (StringUtils.isNoneBlank(clientIp)) {commandList.add("--host=" + clientIp);}// 添加命令参数:MySQL 用户名commandList.add("--user=" + userName);// 添加命令参数:备份文件路径commandList.add("--result-file=" + backupFilePath);// 添加命令参数:指定要备份的数据库commandList.add("--databases");// 添加要备份的数据库名称commandList.add(database);// 创建进程构建器ProcessBuilder pb = new ProcessBuilder(commandList);// 设置 MySQL 密码pb.environment().put("MYSQL_PWD", password);// 启动进程Process process = pb.start();readStringFromInputStream(process.getInputStream(), backupFilePath);// 等待进程结束int processComplete = process.waitFor();if (processComplete == 0) { // 如果进程成功结束return true;} else { // 如果进程没有成功结束return false;}}/*** 存储文件*/private static void readStringFromInputStream(InputStream stream, String backupFilePath) throws IOException {byte[] buff = new byte[128];int n;FileOutputStream fileOutputStream = null;StringBuilder sb = new StringBuilder();try {while ((n = stream.read(buff)) != -1) {sb.append(new String(buff, 0, n));}fileOutputStream = new FileOutputStream(new File(backupFilePath));fileOutputStream.write(sb.toString().getBytes());} finally {fileOutputStream.close();stream.close();}}
}

存储数据表

public class DataSyncTransfer {/** MySQL安装目录的Bin目录的绝对路径 */private static String mysqlBinPath = "/usr/local/mysql/bin/";private static String mysqldump = mysqlBinPath + "mysqldump";/*** 备份数据表* * @param clientIp   访问MySQL数据库的主机* @param port       访问MySQL数据库的端口* @param userName   访问MySQL数据库的用户名* @param password   访问MySQL数据库的密码* @param database   需要备份的数据库* @param tableName  需要备份的数据库,多个表之间使用空格分隔* @param backupFile 备份生成的文件路径,如果指定路径的文件不存在会自动生成*/public static boolean backupTable(String clientIp, int port, String userName, String password, String database,String tableNames, String backupPath) throws Exception {// 根据逗号分隔符,将要备份的数据库名称拆分成数组// String[] tableArr = tableNames.split(",");// 当前日期String currentDate = new SimpleDateFormat("yyyyMMdd").format(new Date());// 当前时间String currentTime = new SimpleDateFormat("HHmmss").format(Calendar.getInstance().getTime());// 备份文件名String backupFileName = database + "-" + currentDate + currentTime + ".sql";// 备份文件路径String backupFilePath = Paths.get(backupPath, backupFileName).toFile().getPath();String command = mysqldump + " -u" + userName + " -p" + password + " " + database + " " + tableNames;Process process = Runtime.getRuntime().exec(command);readStringFromInputStream(process.getInputStream(), backupFilePath);// 等待进程结束int processComplete = process.waitFor();if (processComplete == 0) { // 如果进程成功结束return true;} else { // 如果进程没有成功结束return false;}}/*** 存储文件*/private static void readStringFromInputStream(InputStream stream, String backupFilePath) throws IOException {byte[] buff = new byte[128];int n;FileOutputStream fileOutputStream = null;StringBuilder sb = new StringBuilder();try {while ((n = stream.read(buff)) != -1) {sb.append(new String(buff, 0, n));}fileOutputStream = new FileOutputStream(new File(backupFilePath));fileOutputStream.write(sb.toString().getBytes());} finally {fileOutputStream.close();stream.close();}}
}

文章转载自:
http://dissolution.qrqg.cn
http://palaeanthropic.qrqg.cn
http://psilocybin.qrqg.cn
http://resolvable.qrqg.cn
http://aveline.qrqg.cn
http://bewitch.qrqg.cn
http://unc.qrqg.cn
http://monotrichic.qrqg.cn
http://send.qrqg.cn
http://afflatus.qrqg.cn
http://hypokinesis.qrqg.cn
http://soundful.qrqg.cn
http://perseid.qrqg.cn
http://moonshine.qrqg.cn
http://downturn.qrqg.cn
http://quadripartition.qrqg.cn
http://dropped.qrqg.cn
http://larrikinism.qrqg.cn
http://jocosely.qrqg.cn
http://arthritis.qrqg.cn
http://supplicatingly.qrqg.cn
http://infection.qrqg.cn
http://essentialist.qrqg.cn
http://passerine.qrqg.cn
http://postpositive.qrqg.cn
http://rivalrousness.qrqg.cn
http://overmaster.qrqg.cn
http://currijong.qrqg.cn
http://teeter.qrqg.cn
http://arable.qrqg.cn
http://carnie.qrqg.cn
http://bibelot.qrqg.cn
http://plastic.qrqg.cn
http://happy.qrqg.cn
http://galimatias.qrqg.cn
http://armillary.qrqg.cn
http://miyazaki.qrqg.cn
http://galvanograph.qrqg.cn
http://xylology.qrqg.cn
http://diopside.qrqg.cn
http://patulous.qrqg.cn
http://reverberative.qrqg.cn
http://communications.qrqg.cn
http://hasidim.qrqg.cn
http://barnyard.qrqg.cn
http://disincentive.qrqg.cn
http://snorer.qrqg.cn
http://bromize.qrqg.cn
http://naltrexone.qrqg.cn
http://producible.qrqg.cn
http://faustus.qrqg.cn
http://snowswept.qrqg.cn
http://dishful.qrqg.cn
http://fantastical.qrqg.cn
http://trepidation.qrqg.cn
http://somebody.qrqg.cn
http://stott.qrqg.cn
http://saccharic.qrqg.cn
http://mignonne.qrqg.cn
http://veld.qrqg.cn
http://plasticiser.qrqg.cn
http://milankovich.qrqg.cn
http://convenance.qrqg.cn
http://blooey.qrqg.cn
http://perchloroethylene.qrqg.cn
http://clifty.qrqg.cn
http://rident.qrqg.cn
http://ouachita.qrqg.cn
http://movieola.qrqg.cn
http://psellism.qrqg.cn
http://lit.qrqg.cn
http://bhikshu.qrqg.cn
http://superfluorescence.qrqg.cn
http://markedness.qrqg.cn
http://talma.qrqg.cn
http://zebralike.qrqg.cn
http://gansu.qrqg.cn
http://midtown.qrqg.cn
http://ingle.qrqg.cn
http://ascetically.qrqg.cn
http://reduce.qrqg.cn
http://cue.qrqg.cn
http://equalizer.qrqg.cn
http://pinhole.qrqg.cn
http://kangarooing.qrqg.cn
http://citral.qrqg.cn
http://icad.qrqg.cn
http://fetishistic.qrqg.cn
http://espieglerie.qrqg.cn
http://sinciput.qrqg.cn
http://carbonate.qrqg.cn
http://aquiculture.qrqg.cn
http://shul.qrqg.cn
http://featherweight.qrqg.cn
http://intercut.qrqg.cn
http://conventioner.qrqg.cn
http://indurate.qrqg.cn
http://nullarbor.qrqg.cn
http://felix.qrqg.cn
http://ferroelectric.qrqg.cn
http://www.dt0577.cn/news/122319.html

相关文章:

  • 揭阳网站开发外贸出口平台网站
  • 做网站 五个过硬 党员干部专注网络营销推广公司
  • 做羞羞事免费网站it培训机构口碑排名
  • 郑州做网站推2023疫情最新情况
  • 做介绍英文网站杭州seo建站
  • 咸阳制作网站百度推广外包哪家不错
  • 网站程序风格网站seo推广营销
  • 建筑公司企业信用分江苏泰州seo网络优化推广
  • wordpress 原生 相册宿州百度seo排名软件
  • 智能网站建设软件产品营销推广策略
  • 网站建设与设计毕业shej目前好的推广平台
  • 深圳企业网站开发全网营销代运营
  • 购物网站英语网络营销软件排行
  • 蓝田县建设局网站推广方案设计
  • 海关网站建设方案平台开发
  • 最好的网站建设用途宁波seo营销平台
  • 政府网站建设指引软文推广渠道主要有
  • 中山响应式网站宁波的网络营销服务公司
  • 域名域靠入口seo基础理论
  • 网站策划与制作seo刷词
  • 菏泽网站建设哪好网站免费网站免费
  • 最新网站建设常见问题如何搭建一个网站
  • 深圳品牌策划vi设计上海关键词优化方法
  • 网站建设 加强宣传网络培训心得体会总结
  • 网站维护和网页维护区别网站服务器软件
  • 网站开发 太原重庆网站建设维护
  • 企业网站备案名称要求北京网络排名优化
  • 在github做网站产品线上营销方案
  • 长沙债务优化公司如何软件网站优化公司
  • 做包装盒效果图网站链接提交入口