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】的更多相关文章

  1. tomcat之jsp连接mysql数据库

    一.下载并部署mysql连接类 首先下载mysql连接类,下载地址https://dev.mysql.com/downloads/connector/j 如图所示,选择第一个箭头所指的平台无关版本,然 ...

  2. tomcat使用jdbc连接mysql出现的错误

    出现的错误:java.lang.ClassNotFoundException: com.mysql.jdbc.Driver 前提: 已经在工程的build path中添加了驱动包(mysql-conn ...

  3. Ubuntu下使用C语言连接Mysql 8.0客户端教程

    Ubuntu下如何C语言程序连接MYSQL 8.0(全教程) 1. 安装GCC(略) 2. 安装mysql(本人使用的是最新MySQL 8.0版本) sudo apt install mysql-cl ...

  4. 大话tomcat之tomcat连接mysql

    研究主题:tomcat连接mysql 一.tomcat连接mysql的两种连接方式:简单连接(不使用连接池)使用tomcat连接池 二.简单分析:(简介部分摘自一篇博客,觉得写得非常赞,读了非常有快感 ...

  5. 2-22-实现jsp通过tomcat连接mysql

    所有软件的版本如下: MySQL-Connector-Java: mysql-connector-java-5.1.36 Tomcat: apache-tomcat-8.0.26 JDK: jdk-8 ...

  6. 连接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 ...

  7. 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' ...

  8. linux服务器初步印象,远程连接mysql数据库,传输文件,启动/关闭tomcat命令

    1.连接服务器数据库,以Navicat连接mysql为例 1.1 常规 新建连接,连接名,主机名或ip地址:127.0.0.1 端口:3306用户名:(服务器端)root密码:(服务器端)pwd 1. ...

  9. 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 ...

随机推荐

  1. Activity的四种launchMode《转》

    转自:http://blog.csdn.net/liuhe688/article/details/6754323/ Activity的四种launchMode. launchMode在多个Activi ...

  2. Pentaho Kettle 6.1连接CDH5.4.0集群

    作者:Syn良子 出处:http://www.cnblogs.com/cssdongl 欢迎转载 最近把之前写的Hadoop MapReduce程序又总结了下,发现很多逻辑基本都是大致相同的,于是想到 ...

  3. 精品素材:15套免费的 Photoshop 自定义图形集

    网上到处都是 Photoshop 笔刷,图案,纹理素材,最缺少的就是 Photoshop 形状.寻找定制的 Photoshop 形状是真的很难,因为很少有人提供这样的 Photoshop 形状的集合. ...

  4. path入门 20141102-1405

    那Python有哪些缺点呢? 第一个缺点就是运行速度慢,和C程序相比非常慢, 第二个缺点就是代码不能加密. Python是解释型的 不是编译型的 Python解释器-CPython 命令行: 只需要在 ...

  5. Java中的逆变与协变

    看下面一段代码 Number num = new Integer(1); ArrayList<Number> list = new ArrayList<Integer>(); ...

  6. Visual Studio 2013 和 ASP.NET 预览

    VS 2013预览版在2013的TechEd大会由Brain Harry正式发布.这次发布包括了一系列的新特性:工程模板.Scaffolding 升级和Web工具.当你在VS 2013创建一个新工程的 ...

  7. SQL--视图

  8. C#--访问修饰符

  9. HtmlAgilityPack搭配 ScrapySharp或HtmlAgilityPack.CssSelectors

    Html Agility Pack 源码中的类大概有28个左右,其实不算一个很复杂的类库,但它的功能确不弱,为解析DOM已经提供了足够强大的功能支持,可以跟jQuery操作DOM媲 美:)Html A ...

  10. 【转载】Memcached在.Net中的基本操作

    一.Memcached ClientLib For .Net 首先,不得不说,许多语言都实现了连接Memcached的客户端,其中以Perl.PHP为主. 仅仅memcached网站上列出的语言就有: ...