51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2111|回复: 7
打印 上一主题 下一主题

Linux下Jira+Mysql 安装 经验谈

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-7-18 02:46:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我刚开始对Jira配置Mysql老不成功sdlkfj7,经过多次检查后发现问题所在:

Mysql里用户Jirauser没有分配到对数据库Jiradb的操作权限。(明明指派了权限"grant all privileges ..... grant option;",但在Mysql Administrator 工具里"Assigned Privileges"栏却为空,没有任何权限。)

现总结了一些需要注意的地方,希望对遇到类似问题的朋友有用。

1.JDK和JIRA的安装一般不会有问题,安装好后建议修改连接端口,修改如下:

修改server.xml (路径:/opt/jira/conf/server.xml)

第1行:
<Server port="8015" shutdown="SHUTDOWN">
<Service name="Catalina">
<Connector port="8090"

51testing
2.配置使用MySQL数据库

以管理员帐号登入mysql:
MySQL --user=root MySQL

创建数据库:
create database jiradb character set 'UTF8';

创建用户:
create user jirauser identified by 'jira';
grant all privileges on jiradb.* to 'jirauser'@'%' identified by 'jira' with grant option;
grant all privileges on jiradb.* to 'jirauser'@'localhost' identified by 'jira' with grant option;

如果用下面的语句,’jirauser‘并不会获得任何权限,我已试过多次了:
grant all privileges on *.* to 'jirauser'@'%' identified by 'jira' with grant option;
grant all privileges on *.* to 'jirauser'@'localhost' identified by 'jira' with grant option;

可以到MS-Windows下用Mysql Administrator 工具检查一下jirauser对数据库jiradb的权限。"Assigned Privileges"栏为当前拥有的权限,如果此栏为空,要将"Avialable Privileges'里的权限项添加到"Assigned Privileges"栏里。

3.安装连接驱动包 Mysql JDBC Driver

cp   mysql-connector-java-3.1.12-bin.jar   /opt/jira/common/lib/

注意:是mysql-connector-java-3.1.12-bin.jar。不要误将mysql-connector-java-3.1.12.tar直接就拷过去了。

51teating

4.修改两个JIRA的配置文件

1)修改server.xml (路径:/opt/jira/conf/server.xml)

第13行:
username="jirauser"
password="jira"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost/jiradb?autoReconnect=true&useUnicode=true&characterEncoding=UTF8"
(删除minEvictableIdleTimeMillis and timeBetweenEvictionRunsMillis项 )
maxActive="20" />

注:以上“localhost”可不该,也可改为主机名或设为"主机IP:端口",mysql端口号为"3306"。

b)修改entityengine.xml (路径:/opt/jira/atlassian-jira/WEB-INF/classes/entityengine.xml)

第100行修改为:
<datasource name="defaultDS" field-type-name="mysql"
删除schema-name="UBLIC"

以上要修改的部分修改后要仔细检查,不要因为少一个"."或拼写错误而使配置失败。

5.启动JIRA服务:
/opt/jira/bin/startup.sh   
(启动服务大约要20秒,不要急于测试,硬盘灯灭了才表示服务加载完成。)

测试
Http://"host_ip":8090/

如果没有成功需要检查调试,先关闭服务:
/opt/jira/bin/shutdown.sh

检查修改后再重新启动服务。

sdlkfj6
遇到问题,我也习惯用google找解决办法,但也不一定能找到相应的解决办法,毕竟软件方面的问题比较复杂,每个人所遇到问题的原因各有不同,遇到问题时还是要自己多想想。

[ 本帖最后由 NODDY820 于 2007-7-19 11:06 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2007-7-21 18:36:12 | 只看该作者
多谢楼主与大家分享,顶一下~~~
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2007-7-22 21:17:43 | 只看该作者
grant all privileges on *.* to 'jirauser'@'%' identified by 'jira' with grant option;
grant all privileges on *.* to 'jirauser'@'localhost' identified by 'jira' with grant option;
通常在这里,大家好像都习惯性的使用*.*了,却忘了SHELL和DOS还是有区别的,所以,谢谢LZ的提醒!谨记谨记~~
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2007-7-23 16:31:45 | 只看该作者

回复 #1 NODDY820 的帖子

lz的学习态度很认真,补充一下:
创建jirauser操作可以不用做(create user jirauser identified by 'jira';)因为下面的赋权语句已经是先创建用户然后赋权;
grant all privileges on jiradb.* to 'jirauser'@'%' identified by 'jira' with grant option;
grant all privileges on jiradb.* to 'jirauser'@'localhost' identified by 'jira' with grant option;
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2007-7-23 17:03:19 | 只看该作者

mysql的权限

有些同学执行了如下的赋值语句:
mysql>grant all privileges on *.* to 'jirauser'@'%' identified by 'jira' with grant option;
mysql>grant all privileges on *.* to 'jirauser'@'localhost' identified by 'jira' with grant option;
shell#mysqladmin reload
但没有在Mysql Administrator中jiradb对应的Assigned privileges中没有查看到任何权限,可能会感到困惑,这里给大家解释一下:
如果用上面的语句:
他的作用是创建了超级用户,而且给这个用户赋了所有数据库实例的所有对象的操作权限(*.*),并不是没有赋权,他的权限是在mysql数据库实例中的user表中管理的,大家可以使用Mysql Query 工具查看该表,会发现用户jirauser对应的记录所有的权限列值都是Y,说明他是有权限的。

如果使用如下的语句:
mysql>grant all privileges on jiradb.* to 'zhang'@'%' identified by 'jira' with grant option;
mysql>grant all privileges on jiradb.* to 'zhang'@'localhost' identified by 'jira' with grant option;
shell#mysqladmin reload
这样执行将用户zhang的权限限制在数据库实例jiradb上,他不能对别的实例操作;
查看user表,你会发现他所对应的权限列值都是N
zhang的权限在表db中管理,查看db表,你会发现他所对应的权限值都是Y

总结:使用工具mysql administrator 在Assigned privileges中看到的权限是对应表db的数据,而不是user表的。也不能直接否定grant privileges on *.* 这个语句的作用 :)

[ 本帖最后由 thedaythegirl 于 2007-7-23 17:32 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2007-10-17 15:31:48 | 只看该作者
;p
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2007-12-28 06:02:05 | 只看该作者
我不会。
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2007-12-28 13:59:12 | 只看该作者
因为不熟悉,所有来学习
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-24 10:36 , Processed in 0.078202 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表