Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1155761
  • 博文数量: 220
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1769
  • 用 户 组: 普通用户
  • 注册时间: 2015-03-13 16:19
个人简介

努力, 努力, 再努力

文章分类

全部博文(220)

文章存档

2018年(8)

2017年(46)

2016年(75)

2015年(92)

我的朋友

分类: 系统运维

2015-08-16 21:20:05

JAVA应用程序(TomcatJboss)mysql数据库连接异常(localhost127.0.0.1)


 TOC \o "1-3" \h \z \u JAVA应用程序(TomcatJboss)mysql数据库连接异常(localhost127.0.0.1) PAGEREF _Toc427523077 \h 1

. 环境描述... PAGEREF _Toc427523078 \h 1

. 故障现象描述... PAGEREF _Toc427523079 \h 1

(1) JBOSS 通过jdbc.properties 与数据库连接... PAGEREF _Toc427523080 \h 1

(2) JBOSS执行启动命令时,报错如下: PAGEREF _Toc427523081 \h 2

(3) mysql数据库的user数据表内容如下: PAGEREF _Toc427523082 \h 2

. 问题分析... PAGEREF _Toc427523083 \h 2

(1) JBOSS能过配置文件jdbc.properties,使用localhost, root,123456 3个参数连接mysql PAGEREF _Toc427523084 \h 2

(2)mysqluser表里包括了localhost, root, root 这个账户... PAGEREF _Toc427523085 \h 3

. 解决方案... PAGEREF _Toc427523086 \h 3

. 环境描述

         (1) 系统版本: CentOS release 6.5 (Final)

         (2) 内核版本: 2.6.32-431.el6.x86_64

         (4) jdk版本: java -version

                  java version "1.7.0_09"

                  Java(TM) SE Runtime Environment (build 1.7.0_09-b05)

                  Java HotSpot(TM) 64-Bit Server VM (build 23.5-b02, mixed mode)

         (5) jboss版本: jboss-as-7.1.1.Final

         (6)数据库版本: 5.1.71

. 故障现象描述

      (1) JBOSS 通过jdbc.properties 与数据库连接

      jdbc.properties的相关内容:

           jdbc.url=jdbc:mysql://localhost/abf?useUnicode=true&characterEncoding=UTF-8

jdbc.username=root

jdbc.password=123456

简单来说,就是jboss通过连接本机(localhost)上的mysql来访问mysql数据库

用户名为root,  密码也是root


      (2) JBOSS执行启动命令后

          通过浏览器访问WEB应用程序总是失败

      (3) mysql数据库的user数据表内容如下:

         mysql> select host,user,password from mysql.user;

+------------------+------+--------------------------------------------------------------------------------+

| host             | user | password                                  |

+------------------+------+--------------------------------------------------------------------------------+

| localhost        | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |

| master.mysql.com | root |                                            |

| 127.0.0.1        | root |                                            |

| localhost        |      |                                           |

| master.mysql.com |      |                                           |

+------------------+------+----------------------------------------------------------------------------------+

         注意: 这里localhost , root, 的密码是123456

. 问题分析

      (1) JBOSS能过配置文件jdbc.properties,使用localhost, root,123456 3个参数连接mysql

      (2)mysqluser表里包括了localhost, root, 123456 这个账户

     按理说, JBOSS访问mysql数据库应该没有问题, 但是有3个地方要注意

      a. 通常情况下,无论windows还是linux系统, 名词localhost 等价于 127.0.0.1 , 但在本文所描述的场景中他们并不等价

           b. mysql的概念里 root@localhost 账号与root@127.0.0.1 是两个完全不同的账号

      c. 尽管在jdbc.properties中设置使用localhost来访问本机mysql, 但JBOSS并不使用root@localhost来访问mysql数据库,而是用root@127.0.0.1来访问本机mysql

. 解决方案

      1. mysql中为127.0.0.1主机增加账号

             mysql -uroot -proot

                 mysql> grant all on *.* to 'root'@'127.0.0.1' identified by '123456';

                   mysql> flush privileges;

                   注1: 这里只是个示例, 应该为root@127.0.0.1 分配何种权限,根据实际需要操作
                   注2: 如果想清除账号: root'@'127.0.0.1的密码, 只需要执行下面的步骤:

                         mysql> grant all on *.* to 'root'@'127.0.0.1' identified by '';

                         mysql> flush privileges;

      2. 验证操作成功

                   mysql> select host,user,password from mysql.user;

                   +------------------+------+-------------------------------------------+

                   | host             | user | password                                  |

                   +------------------+------+-------------------------------------------+

                   | localhost        | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |

                   | master.mysql.com | root |                                           |

                   | 127.0.0.1        | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |

                   | localhost        |      |                                           |

                   | master.mysql.com |      |                                           |

                   +------------------+------+-------------------------------------------+

                   已经成功为127.0.0.1 设置了密码: 123456

                  

           3. 此时再启动JBOSS则不会报错, 应用可以正常访问

                   : 本文描述JBOSSmysql连接异常, 同样的问题在Tomcat环境中也在在,处理方式相同

阅读(1172) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~