tomcat通过socket连接MySQL,不再占用服务端口【linux】
MySQL连接方式的说明
http://icbm.iteye.com/blog/1840673
MySQL除了最常见的TCP连接方式外,还提供SOCKET(LINUX默认连接方式)、PIPE和SHARED MEMORY连接方式。
各连接方式的服务器、客户端启动选项,及连接默认值见下表:
TCP连接(Linux,Windows):
|
目标 |
启动选项 |
默认值 |
|
SERVER |
--port=PORT |
3306 |
|
CLIENT |
--protocol=TCP --port=PORT |
3306 |
SOCKET连接(Linux):
|
目标 |
启动选项 |
默认值 |
|
SERVER |
--enable-named-pipe --socket=SOCKET |
/tmp/mysql.sock |
|
CLIENT |
--protocol=SOCKET --socket=SOCKET |
/tmp/mysql.sock |
PIPE连接(Windows):
|
目标 |
启动选项 |
默认值 |
|
SERVER |
--enable-named-pipe --socket=SOCKET |
MYSQL |
|
CLIENT |
--protocol=PIPE --socket=SOCKET |
MYSQL |
SHARED MEMORY连接(Windows):
|
目标 |
启动选项 |
默认值 |
|
SERVER |
--shared-memory --shared-memory-base-name=MEMORY |
MySQL |
|
CLIENT |
--protocol=MEMORY --shared-memory-base-name=MEMORY |
MySQL |
下面说明一下在Linux平台下使用socket形式的具体步骤,这样就可以不用3306的mysql服务端口了
junixsocket
https://code.google.com/p/junixsocket
junixsocket-1.3-bin.tar
junixsocket-1.3.jar
junixsocket-mysql-1.3.jar
tomcat的配置
由于dbcp,c3p0的连接池不支持这个,因此使用jdbc的连接池配置,具体的参考文档见
https://tomcat.apache.org/tomcat-7.0-doc/jdbc-pool.html
applicationContext.xml
<context:property-placeholder
ignore-unresolvable="true" location="classpath:/application.properties" />
<bean id="dataSource" class="org.apache.tomcat.jdbc.pool.DataSource"
destroy-method="close">
<!-- Connection Info -->
<property name="driverClassName" value="${jdbc.driver}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
<property name="defaultCatalog" value="${jdbc.defaultCatalog}" />
<property name="dbProperties">
<props>
<prop key="socketFactory">org.newsclub.net.mysql.AFUNIXDatabaseSocketFactory</prop>
<prop key="junixsocket.file">/tmp/mysql.sock</prop>
</props>
</property>
<bean id="sessionFactory"
class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"
p:dataSource-ref="dataSource">
<!-- mapping的配在可以用spring提供的自动扫描包 -->
<property name="packagesToScan" value="cn.csbit.**.model" />
<property name="hibernateProperties">
<props>
<prop key="javax.persistence.validation.mode">none</prop>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</prop>
<prop key="hibernate.show_sql">false</prop>
<prop key="hibernate.format_sql">false</prop>
</props>
</property>
</bean>
和dbcp的区别
application.properties
#mysql database setting
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://?useUnicode=true&characterEncoding=utf-8&useLocalSessionState=true&autoReconnect=true
jdbc.username=***
jdbc.password=***
jdbc.defaultCatalog=***
jar包和运行库
tomcat-jdbc.jar
tomcat-juli.jar
tomcat-juli-adapters.jar
junixsocket-1.3-bin.tar中lib-native拷贝到 /opt/newsclub 下
tomcat通过socket连接MySQL,不再占用服务端口【linux】的更多相关文章
- tomcat之jsp连接mysql数据库
一.下载并部署mysql连接类 首先下载mysql连接类,下载地址https://dev.mysql.com/downloads/connector/j 如图所示,选择第一个箭头所指的平台无关版本,然 ...
- tomcat使用jdbc连接mysql出现的错误
出现的错误:java.lang.ClassNotFoundException: com.mysql.jdbc.Driver 前提: 已经在工程的build path中添加了驱动包(mysql-conn ...
- Ubuntu下使用C语言连接Mysql 8.0客户端教程
Ubuntu下如何C语言程序连接MYSQL 8.0(全教程) 1. 安装GCC(略) 2. 安装mysql(本人使用的是最新MySQL 8.0版本) sudo apt install mysql-cl ...
- 大话tomcat之tomcat连接mysql
研究主题:tomcat连接mysql 一.tomcat连接mysql的两种连接方式:简单连接(不使用连接池)使用tomcat连接池 二.简单分析:(简介部分摘自一篇博客,觉得写得非常赞,读了非常有快感 ...
- 2-22-实现jsp通过tomcat连接mysql
所有软件的版本如下: MySQL-Connector-Java: mysql-connector-java-5.1.36 Tomcat: apache-tomcat-8.0.26 JDK: jdk-8 ...
- 连接Mysql提示Can’t connect to local MySQL server through socket的解决方法
mysql,mysqldump,Mysqladmin,php连接mysql服务常会提示下面错误: ERROR 2002 (HY000): Can't connect to local MySQL se ...
- PHP连接MySQL报错:SQLSTATE[HY000] [2002] Can't connect to local MySQL server through socket 'MySQL' (2)
如下所示,PHP连接MySQL报错: SQLSTATE[HY000] [2002] Can't connect to local MySQL server through socket 'MySQL' ...
- linux服务器初步印象,远程连接mysql数据库,传输文件,启动/关闭tomcat命令
1.连接服务器数据库,以Navicat连接mysql为例 1.1 常规 新建连接,连接名,主机名或ip地址:127.0.0.1 端口:3306用户名:(服务器端)root密码:(服务器端)pwd 1. ...
- Ubuntu14连接MySql报错“can't connect to local mysql server through socket '/var/run/mysqld/mysqld.sock'”
起因:我在Ubuntu14 64位系统中安装mysql后,后来通过mysql -u用户名 -p密码 的命令连接 Mysql数据库时,报错"can't connect to local mys ...
随机推荐
- Testing - 测试基础 - 阶段
估算 测试对软件工作量的估算的准确性 测试评估软件系统的状况的准确性 关注点: 不准确的估算 不适当的开发过程 不真实的状态报告 如何知道对工作量的估算是正确的 估算工作量的工具很容易出错 对软件工作 ...
- Web 开发精华文章集锦(jQuery、HTML5、CSS3)【系列二十七】
<Web 前端开发精华文章推荐>2014年第6期(总第27期)和大家见面了.梦想天空博客关注 前端开发 技术,分享各类能够提升网站用户体验的优秀 jQuery 插件,展示前沿的 HTML5 ...
- 使用 CSS3 实现 3D 图片滑块效果【附源码下载】
使用 CSS3 的3D变换特性,我们可以通过让元素在三维空间中变换来实现一些新奇的效果. 这篇文章分享的这款 jQuery 立体图片滑块插件,利用了 3D transforms(变换)属性来实现多种不 ...
- ArrayBuffer简析
关键技术: JavaScript,ArrayBuffer,Type Array,DataView,Web Worker,性能对比 ArrayBuffer 在文章开头列出了这些关键字,主要就是让大家了解 ...
- 【图论】深入理解Dijsktra算法
1. Dijsktra算法介绍 Dijsktra算法是大牛Dijsktra于1956年提出,用来解决有向图单源最短路径问题.但不能解决负权的有向图,若要解决负权图则需要用到Bellman-Ford算法 ...
- Fiddler 抓取手机APP数据包
Fiddler是一个调试代理,下载地址http://www.telerik.com/download/fiddler 下载安装运行后,查出运行机器的IP,手机连接同一网域内的WIFI,手机WIFI连接 ...
- 载入条LoadingBar
这个控件太傻瓜了,只搁在博客里算了.日前需要用到一个载入条, 但不想找GIF图片,.NET里面没有提供这个控件,只有ProgressBar.自己写吧!要写也不难,就是周期性绘制一个长方形,让那个长方形 ...
- css background 背景图设置
- GET DIAGNOSTICS Syntax
http://dev.mysql.com/doc/refman/5.7/en/get-diagnostics.html GET [CURRENT | STACKED] DIAGNOSTICS { st ...
- oracle 数据类型详解---日期型(转载)
oracle 数据类型详解---日期型 oracle数据类型看起来非常简单,但用起来会发现有许多知识点,本文是我对ORACLE日期数据类型的一些整理,都是开发入门资料,与大家分享: 注:由于INTER ...