至于为什么加密,主要防止一些过多人知道数据库密码,可能造成公司的损失,同时也避免一些潜在的危害,因此,数据库密码最好还是只有几个人知道,太多人知道的话,影响不好。

最近删库的事情,太多了,个人觉得一个专业的DBA或者是优秀的管理是可以避免此类现象的发生。

请严格按照如下步骤走,这样会减少不必要的报错。

步骤一:

java -cp C:\Users\test\.m2\repository\com\alibaba\druid\1.0.18\druid-1.0.18.jar com.alibaba.druid.filter.config.ConfigTools test1234

输出结果如下:
privateKey:MIIBUwIBADANBgkqhkiG9w0BAQEFAASCAT0wggE5AgEAAkEA0nT/i1VshEcfOh+OvN1SxcWJTKz1tD2kdvpzD1LYX6ybQ3d7AXl2R51GW1V7Il/j/Y0rhuskijMQ9+XuMRKKiwIDAQABAkAJ7eMwm7Mm+oQKpfqCBp8lHZDAwVhGTLI5us865dm3icM81HWdgS27nvSt9Rg83YJCxFmyeEN7RrAhC1V5VTJBAiEA/XL1JfX8EB4JmQU+bup5UEKzv2uxGvDmVfrD5pmH4dMCIQDUk0QzGilX2wflOsle2bOl6/qAZ+XBxX9zJT/1Um+JaQIgDvxUGGmB/OX5xU11EpPUlnVLMX9JmoEx7VWFbcYYLbcCIA6W9O1U9FV1UPtop319D5lpss2xU9GSzoaGnfcma0VRAiB5eYr6QgRPFWsYc1a+ZNu1f8cClK60ijVy7ohcJH1R4w==
publicKey:MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBANJ0/4tVbIRHHzofjrzdUsXFiUys9bQ9pHb6cw9S2F+sm0N3ewF5dkedRltVeyJf4/2NK4brJIozEPfl7jESiosCAwEAAQ==
password:Fanpc9x6AfcsQs16mwxwQPG36aq+PBnzKKJlmpQXyJ+PGlIAU5it1vrZqXSdpV5mb+U1z6K+aw+khUQhdVf1uQ==

步骤二:
jdbc.properties配置
validationQuery=SELECT 1
jdbc_url=jdbc:mysql://www.yctech.com/test?useUnicode=true&characterEncoding=utf8&useSSL=false
jdbc_username=test
jdbc_password=Fanpc9x6AfcsQs16mwxwQPG36aq+PBnzKKJlmpQXyJ+PGlIAU5it1vrZqXSdpV5mb+U1z6K+aw+khUQhdVf1uQ==
jdbc_mysql_publicKey=MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBANJ0/4tVbIRHHzofjrzdUsXFiUys9bQ9pHb6cw9S2F+sm0N3ewF5dkedRltVeyJf4/2NK4brJIozEPfl7jESiosCAwEAAQ==

步骤三:

请严格按照如下配置,不然可能会出现失败,比如密码错误之类的。

数据源配置:

<!-- 配置数据源 -->
<bean name="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
<property name="url" value="${jdbc_url}"/>
<property name="username" value="${jdbc_username}"/>
<property name="password" value="${jdbc_password}"/> <!-- 监控数据库 -->
<property name="filters" value="config"/> <!-- 初始化连接大小 -->
<property name="initialSize" value="0"/>
<!-- 连接池最大使用连接数量 -->
<property name="maxActive" value="20"/>
<!-- 连接池最大空闲 -->
<property name="maxIdle" value="20"/>
<!-- 连接池最小空闲 -->
<property name="minIdle" value="0"/>
<!-- 获取连接最大等待时间 -->
<property name="maxWait" value="60000"/> <property name="validationQuery" value="${validationQuery}"/>
<property name="testOnBorrow" value="false"/>
<property name="testOnReturn" value="false"/>
<property name="testWhileIdle" value="true"/> <!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 -->
<property name="timeBetweenEvictionRunsMillis" value="60000"/>
<!-- 配置一个连接在池中最小生存的时间,单位是毫秒 -->
<property name="minEvictableIdleTimeMillis" value="25200000"/> <!-- 打开removeAbandoned功能 -->
<property name="removeAbandoned" value="true"/>
<!-- 1800秒,也就是30分钟 -->
<property name="removeAbandonedTimeout" value="1800"/>
<!-- 关闭abanded连接时输出错误日志 -->
<property name="logAbandoned" value="true"/>
<property name="connectionProperties" value="config.decrypt=true;config.decrypt.key=${jdbc_mysql_publicKey}" />
</bean>
05-11 01:19