跳到元数据的末尾
转到元数据的开始

概述

通过使用MySQL,您可以受益于MySQL基础设施中的功能,如备份和恢复。

要使Artifactory与MySQL一起运行,您必须创建一个专用的MySQL数据库实例,然后配置Artifactory以使用它,如下面的部分所述。

继续之前

在继续以下步骤之前,请确保您已经阅读并遵循了中描述的步骤配置数据库

页面内容



创建人工MySQL数据库

MySQL支持的版本

Artifactory支持MySQL v5.5, 5.6和5.7InnoDB引擎,这是默认提供的。

Artifactory提供了一个脚本,它将执行创建MySQL数据库所需的SQL命令。

该脚本可以在$ ARTIFACTORY_HOME / misc / db / createdb / createdb_mysql.sql,如下所示。

您应该查看脚本并根据需要对其进行修改,以符合您的特定环境。

createdb.sqlScript
创建数据库字符集utf8_bin;在艺术上给予一切。*到'artifactory'@'localhost' ' IDENTIFIED BY 'password';冲洗特权;

一旦您验证了脚本是正确的,您就需要运行它来创建数据库并继续配置数据库。

Artifactory特权

如果你在Docker容器上运行MySQL数据库,请使用以下命令:
创建数据库字符集utf8_bin;在艺术上给予一切。* TO 'artifactory'@'%' IDENTIFIED BY 'password';冲洗特权;

(注意:如果artifactory无法重新启动并出现以下错误,那么在Docker中再次运行上述命令。

java.sql.SQLException: null,来自服务器的消息:"主机'xxxx'不允许连接到这个MySQL服务器")

选择区分大小写的排序规则

虽然MySQL Database Server默认情况下不区分大小写,但是选择区分大小写的排序是很重要的,因为Artifactory是区分大小写的。

例如,在createdb.sql将COLLATE上面的脚本设置为"utf8_bin”

Artifactory特权

我们建议为Artifactory提供数据库上的全部权限


配置Artifactory使用MySQL

  1. 复制ARTIFACTORY_HOME / misc / db / mysql.properties美元美元ARTIFACTORY_HOME / etc / db.properties
    (如果你没有这个文件,你可以从独立zip发行版)。有关此文件内容的完整解释,请参阅存储捆绑配置


  2. 中的连接定义进行调整美元ARTIFACTORY_HOME / etc / db.properties文件以匹配您创建的Artifactory数据库的属性。
    您必须配置数据库URL和用户名/密码才能使用。模式和表是在Artifactory第一次使用新数据库运行时创建的。
  3. 下载MySQL JDBC驱动程序(可从MySQL网站),并复制mysql-connector-java——<版本> . jar文件到服务器的共享lib目录。
    例如$ TOMCAT_HOME /自由当作为服务或$ ARTIFACTORY_HOME / tomcat / lib在独立版本中。

    权限

    确保您的驱动程序具有与共享lib目录中其他文件相同的权限。

  4. Artifactory开始。


在MySQL中存储blob

建议的(和推荐的)配置将所有工件信息存储在MySQL中,而工件二进制数据存储在文件系统(在ARTIFACTORY_HOME /数据/ filestore美元)。
当它是不推荐,如果典型的BLOB大小相对较小,则可以在MySQL中存储BLOB。在MySQL中存储大型blob可能会导致内存问题,因为MySQL缓冲blob而不是流式传输它们(请参考MySQL Bug #15089),并可能导致OutOfMemory根据JVM堆大小,大型二进制文件的错误。

要在MySQL中存储blob,您需要使用全数据库二进制提供程序和改变max_allowed_packet大于您打算存储在Artifactory中的工件的最大尺寸。






增加MySQL默认数据包大小

由于一些数据文件(构建,配置等)存储在MySQL中,因此增加MySQL使用的最大允许数据包大小以避免与大数据包相关的错误是非常重要的。

(请参考MySQL文档:包太大)。

建议在/etc/my.cnf文件如下:

修改/etc/my.cnf
# MySQL服务器[mysqld]#服务器可以处理的二进制负载的最大大小max_allowed_packet=8M。

/etc/my.cnf绝对路径

如果/etc/my.cnf如果不已经存在,应该在绝对路径下创建而不是在ARTIFACTORY_HOME美元

重新启动要求

修改允许的最大打包大小后,需要重新启动MySQL

您也可以使用命令行

也可以更改max_allowed_packet变量,如下例所示:

集全球Max_allowed_packet = 134217728;

但是,请注意,在重新启动时,的值max_allowed_packet变量将从/etc/my.cnf文件并恢复到该文件中的值,如上所述。



为Artifactory调优MySQL

在MySQL中使用Artifactory时,建议使用InnoDB引擎,并配置以下调优参数/etc/my.cnf文件:

MySQL参数调优
# MySQL服务器[mysqld]默认情况下,innodb引擎为所有数据库和表使用一个文件。我们建议将其更改为每个表一个文件。注意:只有在人工表还没有创建的情况下才会生效!第一次启动Artifactory前需要设置并重启MySQL。innodb_file_per_table #这些调优参数可以用来控制和增加内存缓冲区的大小。innodb_buffer_pool_size=1536M tmp_table_size=512M max_heap_table_size=512M #这些参数控制着innodb日志文件的大小,只有在MySQL关闭和数据库中有innodb日志文件导致MySQL无法启动时才可以修改。#所以,改变这些意味着在开始之前删除旧的innodb日志文件。innodb_log_buffer_size=4M。

重新启动要求

调优后,需要重新启动MySQL

  • 没有标签