适用于Linux平台下的一个定时备份压缩数据库代码 压缩备份Mysql数据库 #!
MySQL是一种关系型数据库,它开源免费(GPL),扩展方便,稳定性也有保障,因此在企业级开发中常常使用。MySQL默认端口号是3306。...MySQL索引 MySQL索引使用的数据结构主要有BTree索引和哈希索引。...行级锁:MySQL中锁定粒度最小的一种锁,只针对当前操作的行进行加锁。行级锁能大大减少数据库操作的冲突。其加锁粒度小,并发度高,但加锁的开销也最大,加锁慢,会出现死锁。...单表记录过大时,数据库的CRUD性能会明显下降,一些常见的优化措施如下: 限定数据的范围 读/写分离 垂直分区 水平分区 池化思想和数据库连接池 池化思想在很多的地方都可以见到,比如java线程池,jdbc...除了初始化资源,池化设计还包括如下这些特征:池子的初始化、池子的活跃值、池子的最大值等,这些特征可以直接映射到java线程池和数据库连接池的成员属性中。 数据库连接本质上就是一个socket连接。
JAVA操作MySQL数据库,涉及创建连接,创建表,插入数据,更新数据,查询数据 总体步骤: 1) 获取驱动(可以省略) 2) 获取连接 Connection 接口,代表一个连接对象 ,具体的实现类由数据库的厂商实现... 使用 DriverManager类的静态方法,getConnection可以获取数据库的连接 3) 获取Statement对象 通过Connection 的 createStatement方法...获取sql语句执行对象 4) 处理结果集(只在查询时处理) 5) 释放资源 代码如下: package jdbc;import java.sql.*; public class Test01 {...(String[] args) throws ClassNotFoundException, SQLException { //使用驱动; Class.forName("com.mysql.jdbc.Driver..."); // 创建连接,涉及数据库IP,端口,数据库名,字符集,账号及密码 String url = "jdbc:mysql://127.0.0.1:3307/testdb?
import java.sql.*; public class JDBCDemo { public static void main(String[] args) { String user =..."root";//用户名 String password = "****";//密码 String url = "jdbc:mysql://localhost:3306/student";//...数据库名 String driver = "com.mysql.jdbc.Driver";//数据库驱动 String tableName = "studentinfo";//数据库表名 String...con = DriverManager.getConnection(url,user,password); stmt = con.createStatement(); //往数据库插入数据..." + tableName + " values(001,'tanzhenyu','male','GIS')"; stmt.executeUpdate(sqlstr); //查询数据库数据
package learn; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException...; import java.sql.Statement; import java.sql.ResultSet; public class Example01 { public static void main...(String[] args) { // TODO Auto-generated method stub String URL="jdbc:mysql://127.0.0.1:3306/test1";...String DRIVER="com.mysql.jdbc.Driver"; String USERNAME="root"; String PASSWD="123456"; String sql; Connection
临近春节,相信每个公司都会进行全面巡检,无论是业务层还是数据库层,达到事前预防的目的;今天就来分享一下针对MySQL数据存储层面,在数据库存储来不及扩容的情况下,MySQL中的压缩方案; 日常工作中很多业务在表结构设计之初不会考虑存储的设计...而物理存储主要是考虑是否要启用表的压缩功能,默认情况下,所有表都是非压缩的。但说到压缩,总会下意识地认为压缩会导致 MySQL 数据库的性能下降。这个观点说对也不对,需要根据不同场景进行区分。...表压缩 数据库中的表是由一行行记录(rows)所组成,每行记录被存储在一个页中,在 MySQL 中,一个页的大小默认为 16K,一个个页又组成了每张表的表空间。...通常我们认为,如果一个页中存放的记录数越多,数据库的性能越高。这是因为数据库表空间中的页是存放在磁盘上,MySQL 数据库先要将磁盘中的页读取到内存缓冲池,然后以页为单位来读取和管理记录。...COMPRESS 页压缩是 MySQL 5.7 版本之前提供的页压缩功能。
DYNAMIC和COMPRESSED行格式是COMPACT行格式的变体,早期版本的InnoDB对数据库文件使用文件格式Antelope。...详细说明:https://dev.mysql.com/doc/refman/5.6/en/innodb-physical-record.html 压缩算法 压缩算法采用LZ77,在这个算法下,如果压缩效率好点的话...当超过这个临界值,mysql会为每个压缩页添加额外的空间来避免再次压缩失败。值为0表示禁用监控压缩效率,改为动态调整。...压缩方法 如果设置了ROW_FORMAT=COMPRESSED,那可以忽略key_block_size设置,这时默认的key_block_size为innodb_page_size值的一半,MYSQL默认设置...InnoDB未压缩的数据页是16K,根据选项组合值,mysql为每个表的.ibd文件使用1kb,2kb,4kb,8kb,16kb页大小,实际的压缩算法并不会受KEY_BLOCK_SIZE值影响,这个值只是决定每个压缩块有多大
使用开源工具:thumbnailator 从jpg、jpeg、png(3.44MB)压缩到440kb也非常清晰,可自动设置压缩程度(0-1),目前压缩成为jpg的比较理想,压缩后为png并不能减少多少...; } catch (IOException e) { e.printStackTrace(); } return null; } 2.2 直接指定压缩程度来进行压缩...IOException e) { e.printStackTrace(); } return null; } 遇到的问题 可能会出现OOM内存溢出的现象 ,需要调整-Xss大小 java...启动命令nohup java -jar -Xmx6000m XXX.jar >/dev/null 2>&1 /** * 压缩图片 * * @param bufferedImage BufferedImage...对象 * @param quality 压缩的程度(0-1越小压缩的比列越大) * @param suffix 后缀 * @return ByteArrayOutputStream
{tabs-pane label="mysql属性配置"} username=root password=zd2580 url=jdbc:mysql://localhost:3306/books driverClassName...=com.mysql.jdbc.Driver initialSize=5 maxActive=10 {/tabs-pane} {tabs-pane label="获取数据库的连接池"} //2...} catch (Exception e) { e.printStackTrace(); } } /** * 获取数据库连接池中的连接...SQLException e) { e.printStackTrace(); } return conn; } /** * 关闭数据库...,放回数据库连接 * @param conn */ public static void close(Connection conn){ if (conn !
jdbc数据库连接六步走 1. 注册驱动 注册驱动的两种方法 Class.forName("com.mysql.cj.jdbc.Driver"); //mysql8....+版本 Driver driver = new com.mysql.cj.jdbc.Driver(); DriverManager.registerDriver(driver); 2.获取连接 String...url = "jdbc:mysql://127.0.0.1:3306/tests"; String user = "root"; String password = "root"; Connection...package cn.tests.jdbc; import java.sql.Driver; import java.sql.DriverManager; import java.sql.SQLException...; import java.sql.Connection; import java.sql.Statement; import java.sql.ResultSet; public class jdbc02
Linux(Ubuntu平台)Java通过JDBC连接MySQL数据库,与Windows平台类似,步骤如下: 下载 jdbc: mysql-connector-java-5.1.18.tar.gz...解压 jdbc: tar -zxvf mysql-connector-java-5.1.18.tar.gz 配置 jdbc:cp mysql-connector-java-5.1.18-bin.jar.../usr/local/jdk1.6.0_22/jre/lib/ext/ Java示例: private static String sql="select top, id, name, country...System.out.println(mResultSet.getString(4)); } }catch (Exception e){ System.out.println("数据库读取错误...\n" + e.getMessage()); } }catch (SQLException e){ System.out.println("连接数据库错误: \n" + url + "\
本文链接:https://blog.csdn.net/weixin_44580977/article/details/95110508 对称型数据库控制 数据库操作 ##由下层到上层讲解 1.Mysql...库驱动包,由数据库厂商统一按照java jdbc接口实现 Mysql驱动包内使用数据库 //1....url=jdbc:mysql:///db3 user=root password=root driver=com.mysql.jdbc.Driver 3.缺点: * 数据库频繁创建链接...driverClassName=com.mysql.jdbc.Driver url=jdbc:mysql:///day23 username=root password=root initialSize...非对称性数据库控制 1.redies为什么要用redies * 查询速度:比mysql快太多了
安装eclipse和mysql的步骤这里不赘述了。 1.一定要下jar包 要想实现连接数据库,要先下载mysql-connector-java-5.1.47(或者其他版本)的jar包。...打开数据库要先进到bin目录中。下面是进入bin,打开mysql,登录用户,以及退出的操作。打开成功后会有一个mysql>的小标志。...cd C:\mysql-5.7.27-winx64\bin net start mysql mysql -uroot -p exit ? 3.Java程序 打开mysql。...SQL数据库的端口号; mysql 就是你要连接的数据库的名字。...第二个双引号里是你的mysql数据库用户名,第三个双引号里是登录密码,我设成没有密码了,所以就空着。
Java使用压缩库为常规压缩提供了Deflater类。...它还提供了DeflaterOutputStream,它使用Deflater类通过压缩(压缩)数据流,然后将压缩后的数据写入另一个输出流来过滤数据流。...压缩 这是一个如何使用DeflatorOutputStream压缩字节数组的示例。...5615616119688refdaf888888888888888865555555555555511111111111111111111111119999999999999999999999999999999911111111111111111111333333333333333333 INFO-> 60 145 测试用例 用的是spock测试框架,这里用来验证一下,压缩后的字符串和压缩前的长短...网上看一些资料,主要还是用来压缩文件的,有的看着效果还不错,不过让我想起来一个梗:压缩完的文件大小大于压缩前。
---- JDBC JDBC是Java和数据库之间的一个桥梁。Java代码需要连接数据库,就可以通过JDBC来连接。 首先是应用模板,因为我每次来看博客,都是因为某段代码忘记则么敲了。...---- 使用前提: 导入一个jar包,包全名是mysql-connector-java-5.1.22-bin.jar mysql数据库名称为test,表名为dbtable,账户名为root,密码为...3步:新建一个 JdbcUtils 类,该类作用只是连接上mysql数据库,仅仅如此。...import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException...第五行 DriverManager.getConnection方法,是用来创建一个对象和mysql数据库(以mysql为例)进行连接,并返回这个Collection对象。
数据库连接 我们开发的同一套Java代码是无法操作不同的关系型数据库,因为每一个关系型数据库的底层实现细节都不一样。...如果这样,问题就很大了,在公司中可以在开发阶段使用的是MySQL数据库,而上线时公司最终选用oracle数据库,我们就需要对代码进行大批量修改,这显然并不是我们想看到的。...jar 包中的实现类 1.3 JDBC 的好处 各数据库厂商使用相同的接口,Java代码不需要针对不同数据库分别开发 可随时替换底层数据库,访问数据库的Java代码基本不变 以后编写操作数据库的代码只需要面向...JDBC(接口),操作哪儿个关系型数据库就需要导入该数据库的驱动包,如需要操作MySQL数据库,就需要再项目中导入MySQL数据库的驱动包。...所以掌握 Java JDBC API (位于 java.sql 包下) 即可掌握 Java 数据库编程。
文章目录 前言 一、JDBC是什么 二、JDBC工作原理 三、下载并导入mysql的驱动 3.1 下载mysql-connector-java-5.1.47.jar 3.2 idea项目导入jar包...再逐渐深入~ 一、JDBC是什么 JDBC: Java操作数据库的规范 java.sql : 无论现在通过Java操作哪个具体的数据库,数据库厂商实现的驱动包都需要满足JDBC的标准(接口) 二、JDBC...JDBC访问数据库层次结构: 不管是啥数据库 MySQL、SQLLite、Oracle 等都得实现JDBC的接口,对于程序员来说,不管操作啥数据库都是相同的套路,只是更换了具体子类(驱动) MySQL...也一样,它提供的Java操作数据库的驱动包必须实现JDBC标准(类似于usb标准和usb驱动) 三、下载并导入mysql的驱动 下面告诉大家如何导入mysql的驱动包 3.1 下载mysql-connector-java...-5.1.47.jar 资源链接:mysql-connector-java-5.1.47.jar 拓展:*.jar 就是把一系列编译好的class文件打包压缩后的文件,其他程序引入这个jar包就有了这个包中的所有类
localFileName输出的本地文件名 ZipOutputStream zipOut = new ZipOutputStream(new FileOutputStream(localFileName)); 将要压缩的文件名输入...// 要压缩的单个文件名 zipOut.putNextEntry(new ZipEntry(fileName)); 将文件的流,写入zipOut中 zipOut.write(buffer, 0, len...二、工具类: import lombok.extern.slf4j.Slf4j; import javax.servlet.http.HttpServletResponse; import java.io....*; import java.util.List; import java.util.Objects; import java.util.zip.ZipEntry; import java.util.zip.ZipOutputStream...需要压缩的文件列表 * @param outputStream 压缩到指定的输出流 * @author hongwei.lian * @date 2018年