Bugzilla支持MySQL/Oracle/PostgreSQL数据库,只需要安装任何一个即可,下面以比较常用的MySQL为例进行说明。
检查MySQL版本
mysql-V
必须使用5.0.15以上的MySQL版本。
注意:
Oracle需要10.02.0以上版本,PostgreSQL需要8.03.0000以上版本。
安装MySQL
如果没有安装mysqlserver,使用如下命令安装:
sudoapt-get install mysql-server
安装后,必须确保在系统启动后MySQL服务也自动启动。
注意:
-
安装过程中会要求输入管理员密码,注意密码必须满足一定的复杂性,同时不能忘记!
-
基于安全的考虑,不要创建匿名访问用户,如果存在,需要删除该用户。
-
如果数据库服务器和Web服务器是同一台服务器,则应该禁止网络访问数据库。
安装后,运行命令:
mysql-u <username> -p <password>
即可登录数据库。
注意:
为解决中文显示问题,需要修改配置文件中的字符编码,配置文件在路径:/etc/mysql/my.cnf。
MySQL服务启动
启动文件位置:/etc/init.d/mysql
sudostart mysql手动启动mysql服务
sudostop mysql手工停止mysql服务
修改管理员密码
sudomysqladmin -u root password newpassword
创建数据库
mysql>CREATEDATABASE bugs;
mysql>GRANTALL PRIVILEGES ON bugs.* TO bugs@localhostIDENTIFIED BY "bugs";
mysql>flush privileges;
这样就创建一个bugs的用户,它对数据库bugs数据库有着全部权限。以后就用bugs来对bugs数据库进行管理,而无需要再用root用户,同时该用户的权限也只被限定在bugs数据库中。
大附件配置
默认配置下,MySQL只允许在数据库中插入小于1M的内容,但附件往往大于1M。同时,Bugzilla将Bug的所有Comments放入单个字段以方便全文检索,将所有Comment放到同一个字段时,其内容也可能会超过1M。要更改此默认配置,需要编辑MySQL的配置文件。
建议至少允许4M包,在配置文件中添加下面行:
[mysqld]
# Allowpackets up to 4MB
max_allowed_packet=4M
全文索引的smallwords
默认配置,为在MySQL全文本索引中使用,words必须至少4个字符。这会导致某些Bugzilla特定的词不能被索引,如cc,ftp和uri。通过在配置文件中修改添加参数,Bugziila可以索引这些短小词。
[mysqld]
# Allow smallwords in full-text indexes
ft_min_word_len=2
允许附件表大小超过4G
默认配置,MySQL限制附件表的大小不能超过4GB,这与文件系统无关。更改更高的大小限制设置,在完成数据库创建后,应该运行MySQL命令行客户端,并输入下面的命令:
mysql>use bugs;
mysql>ALTER TABLE attachments
AVG_ROW_LENGTH=1000000,MAX_ROWS=20000;
上述命令将大小限制更改为20GB,MySQL会将整个附件表做一份临时拷贝,因此最好是在附件表还很小的时候更改,比如数据库创建后就运行。
注意:
这不会影响大文件,附件直接存储在磁盘而不是数据库中。